In Typo3 gibt es eine sog. DBAL (Database Abstraction Layer), weshalb nicht direkt die von PHP angebotenen Funktionen genutzt werden sollten, um beispielsweise SQL-Queries auszuführen, sondern die von Typo3 bereitgestellten Funktionen. Damit gibt es später keine Probleme, sollte die Datenbank mal kein MySQL sein oder sollten sich mal die Zugangsdaten ändern. Durch diese zusätzliche Schicht, wird aber auch wieder das Debugging erschwert, aber mit folgendem Code-Snippet ist das Debugging ganz einfach:

[PHP]
$GLOBALS[‘TYPO3_DB’]->store_lastBuiltQuery = 1;

// process query
$res = $GLOBALS[‘TYPO3_DB’]->exec_SELECTquery($select_fields,$from_table,$where_clause,$groupBy,$orderBy,$limit);

// the complete SQL-Statement
echo $GLOBALS[‘TYPO3_DB’]->debug_lastBuiltQuery;
[/PHP]

Die Query kann somit einfach kopiert und beispielsweise im phpMyAdmin eingefügt werden, somit kann abgeschätzt werden ob diese denn das gewünschte Ergebnis liefert.

Quelle: http://snippets.typo3.org/c/55/ (Zum Tag “debug” gibt es auf der Seite leider keine weiteren Einträge.)

[random_content group_id=”211″ num_posts=”1″]