---
title: "Debugen von Abfragen"
url: "https://www.typo3.net/d/102895-debugen-von-abfragen"
source: "typo3.net"
tags: ["Extensions","Extbase","Frage"]
created: "2010-12-13"
last_reply: "2011-01-15"
replies: 1
solved: false
page: 1
pages: 1
lang: "de"
---

# Debugen von Abfragen

Extensions › Extbase · 1 Antwort · gestartet 2010-12-13

## Eröffnungsbeitrag

**georgbez** · 2010-12-13 · [Beitrag #1](https://www.typo3.net/d/102895-debugen-von-abfragen/1)

Hallo!

Welche Möglichkeiten gibt es eine Abfrage zu debuggen, also den SQL-Code auszugeben? In meinem Respository habe ich ja "nur" die folgenden Statements:

```php
$query = $this->createQuery();
$query->matching( $query->equals( 'location', $location ) );
return $query->execute();
```

Zur Selbstüberprüfung und auch zur Fehlersuche wäre es halt schick wenn man die "SELECT..."-Statements sehen könnte.

Danke schon mal.

Viele Grüße,
Georg

## Antworten

### [#2](https://www.typo3.net/d/102895-debugen-von-abfragen/2) · Kurtux · 2011-01-15

Hallo Georg,

wenn Dein $query Objekt eine Eigenschaft/Property hat, in der das Select-Statement drin steht, dann kannst Du in mit der PHP built-in Funktion error_log() ausgeben. Wenn z.B. das Select-Statement in der Eigenschaft/Property sql drin steht, dann so diesen Statement protokollieren:

error_log($query->sql);

In Abhängigkeit der Direktive error_log in php.ini wird der Statement in das entsprechende Log geschrieben.

Auf Linux und in eine eigene Datei so z.B.:
error_log = /var/log/php.log
Die php.log schreibt der Apache. Denke daran ihm die Schreibrechte für den Pfad zu geben.

Auf Windows und in eine eigene Datei sollte es so z.B. funktionieren:
error_log = C:\php.log

syslog sollte bei Windows ab Windows 2000 in das Ereignisprotokoll schreiben - habe sowas noch nie gemacht:
error_log = syslog

Gruß

Wolfram

---

Quelle: „Debugen von Abfragen“, typo3.net, https://www.typo3.net/d/102895-debugen-von-abfragen
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
