# SQL Statement anzeigen

**URL:** <https://forum.shopware.com/t/sql-statement-anzeigen/70115>\
**Category:** Programmierung\
**Created:** [8. Oktober 2020 um 13:51 UTC](https://forum.shopware.com/t/sql-statement-anzeigen/70115 "2020-10-08T13:51:12Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Torben\_Schmoll](https://avatars.discourse-cdn.com/v4/letter/t/2acd7d/32.png) [@Torben\_Schmoll](https://forum.shopware.com/u/Torben_Schmoll)\
**Post date:** [8. Oktober 2020 um 13:51 UTC](https://forum.shopware.com/t/sql-statement-anzeigen/70115/1 "2020-10-08T13:51:12Z")

</div>

Moin,

wie bekomme&nbsp;ich das zusammengesetzte, ausgeführte SQL Statement?

Bsp:

```
 100, 
];

$sql = "select * from table where id=:id;";
$result = Shopware()->Db()->fetchRow($sql, $values);
?>

```

Grüße,&nbsp;  
Torben

---

<div class="post-metadata">

**Author:** ![gabrielnastase](https://avatars.discourse-cdn.com/v4/letter/g/f0a364/32.png) [@gabrielnastase](https://forum.shopware.com/u/gabrielnastase)\
**Post date:** [9. Oktober 2020 um 05:02 UTC](https://forum.shopware.com/t/sql-statement-anzeigen/70115/2 "2020-10-09T05:02:01Z")

</div>

Hi, ich verstehe deine Frage nicht richtig. Was möchtest du genauer wissen ? Möchtest du die Results von dein SQL oder möchtest du den SQL ausführen??

---

<div class="post-metadata">

**Author:** ![Torben\_Schmoll](https://avatars.discourse-cdn.com/v4/letter/t/2acd7d/32.png) [@Torben\_Schmoll](https://forum.shopware.com/u/Torben_Schmoll)\
**Post date:** [9. Oktober 2020 um 07:10 UTC](https://forum.shopware.com/t/sql-statement-anzeigen/70115/3 "2020-10-09T07:10:20Z")

</div>

Ich möchte das ausgeführte Statement sehen. In dem Beispiel ist das ja recht einfach:

select \* from table where id=100;

Aber wenn man mehrere Variablen&nbsp;übergibt wir das halt schnell unübersichtlich.&nbsp;

---

<div class="post-metadata">

**Author:** ![gabrielnastase](https://avatars.discourse-cdn.com/v4/letter/g/f0a364/32.png) [@gabrielnastase](https://forum.shopware.com/u/gabrielnastase)\
**Post date:** [9. Oktober 2020 um 07:28 UTC](https://forum.shopware.com/t/sql-statement-anzeigen/70115/4 "2020-10-09T07:28:33Z")

</div>

Also, ich verstehe immer noch nicht was du meinst mit “sehen” willst du das in Frontend sehen oder ist das allgemein Code Style ??

Wenn dein SQL Statement groß wird dann kannst du das in mehrere linien teilen:

&nbsp;

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/0/07caf8ccd3105fbb6df98c49c580f7172a070b5d.png)

Am sonsten kann ich dir nicht weiterhelfen, weil ich durch “sql sehen” nicht verstehen kann wie du das eigentlich sehen willst, weil im code siehst ja den SQL.

---

<div class="post-metadata">

**Author:** ![Torben\_Schmoll](https://avatars.discourse-cdn.com/v4/letter/t/2acd7d/32.png) [@Torben\_Schmoll](https://forum.shopware.com/u/Torben_Schmoll)\
**Post date:** [9. Oktober 2020 um 07:36 UTC](https://forum.shopware.com/t/sql-statement-anzeigen/70115/5 "2020-10-09T07:36:50Z")

</div>

Ich möchte die SQL Anweisung sehen die auf der DB ausgeführt wird. Also inklusive eingefügten Variablen aus dem Values Array.

---

<div class="post-metadata">

**Author:** ![MrAle](https://avatars.discourse-cdn.com/v4/letter/m/3bc359/32.png) [@MrAle](https://forum.shopware.com/u/MrAle)\
**Post date:** [9. Oktober 2020 um 07:40 UTC](https://forum.shopware.com/t/sql-statement-anzeigen/70115/6 "2020-10-09T07:40:52Z")

</div>

Er möchte den query mit seinen ausgefüllten Variablen sehen - nicht jedoch das Ergebnis. So verstehe ich das.

&nbsp;

Das eben dran steht “select \* from table where id=100;” und nicht&nbsp;“select \* from table where id=:id;”;

&nbsp;

---

<div class="post-metadata">

**Author:** ![gabrielnastase](https://avatars.discourse-cdn.com/v4/letter/g/f0a364/32.png) [@gabrielnastase](https://forum.shopware.com/u/gabrielnastase)\
**Post date:** [9. Oktober 2020 um 08:00 UTC](https://forum.shopware.com/t/sql-statement-anzeigen/70115/7 "2020-10-09T08:00:28Z")

</div>

Die beste Variante wäre wenn du den [General Log](https://dev.mysql.com/doc/refman/8.0/en/query-log.html) von MySQL aktivierst und dann da rein guckst was für SQLs wurden ausgeführt und mit welchen Werten usw.

In Shopware habe ich leider nichts gefunden der sowas macht, habe aber ein workaround gefunden.

&nbsp;

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/7/7a999b01a02bcc40954278c0542d784b88b22650.png)

&nbsp;

Das zeigt mir dann das:

&nbsp;

![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/c/c2ff7500b0ab4c6848b17fb5f78f81f355c3f82c.png)

&nbsp;

Ich habe jetzt verstanden was du meinst, aber wie gesagt ich konnte nichts in den Shopware db finden der das für dich machen konnte.

&nbsp;

---

<div class="post-metadata">

**Author:** ![Torben\_Schmoll](https://avatars.discourse-cdn.com/v4/letter/t/2acd7d/32.png) [@Torben\_Schmoll](https://forum.shopware.com/u/Torben_Schmoll)\
**Post date:** [9. Oktober 2020 um 08:06 UTC](https://forum.shopware.com/t/sql-statement-anzeigen/70115/8 "2020-10-09T08:06:43Z")

</div>

Yeay, sehr geil, ganau das war mein&nbsp;Ziel, Danke…

---

<div class="post-metadata">

**Author:** ![Torben\_Schmoll](https://avatars.discourse-cdn.com/v4/letter/t/2acd7d/32.png) [@Torben\_Schmoll](https://forum.shopware.com/u/Torben_Schmoll)\
**Post date:** [9. Oktober 2020 um 08:14 UTC](https://forum.shopware.com/t/sql-statement-anzeigen/70115/9 "2020-10-09T08:14:23Z")

</div>

Werden die übergeben Values eigentlich noch auf Injections geprüft oder geht das nur mit dem QueryBuilder?&nbsp;

---

<div class="post-metadata">

**Author:** ![gabrielnastase](https://avatars.discourse-cdn.com/v4/letter/g/f0a364/32.png) [@gabrielnastase](https://forum.shopware.com/u/gabrielnastase)\
**Post date:** [9. Oktober 2020 um 08:21 UTC](https://forum.shopware.com/t/sql-statement-anzeigen/70115/10 "2020-10-09T08:21:22Z")

</div>

> [@Torben Schmoll schrieb:](https://forum.shopware.com/profile/18395/Torben%20Schmoll "Torben%20Schmoll")
> 
> Werden die übergeben Values eigentlich noch auf Injections geprüft oder geht das nur mit dem QueryBuilder?&nbsp;

Nein sie werden nicht. Lese dir die doku von strtr() auf phpmanuals. Es ist nur ein string replacement. Damit du genau den Query Sehen kannst wie es von mysql ausgeführt wird musst du dieses General Log verwenden und dann in der Log nach diesen Query suchen, sonst weiß ich keine andere möglichkeit da eigentlich so eine funktion niemand braucht.&nbsp;

---

<div class="post-metadata">

**Author:** ![Torben\_Schmoll](https://avatars.discourse-cdn.com/v4/letter/t/2acd7d/32.png) [@Torben\_Schmoll](https://forum.shopware.com/u/Torben_Schmoll)\
**Post date:** [16. August 2021 um 14:19 UTC](https://forum.shopware.com/t/sql-statement-anzeigen/70115/11 "2021-08-16T14:19:08Z")

</div>

Das ststr() das nicht macht ist mir schon klar. Aber Zend wird doch die übergebenen Values dementsprechend prüfen.
