Zum Inhalt springen

SQL - Abfrage ohne Ausgabe

Erstellt am 3. April 2009 · 3 Antworten · letzte Antwort am 6. April 2009

Tags: Frage

ava99 ·

Hallo Community!

bin gerade dabei meine erste Extension zu schreiben. Habe dazu ne Anleitung im Netz erfolgreich geggogelt. Diese ist soweit auch gut erklärt, nur beim Verändern der Datei komme ich einfach nicht weiter.

Laut Anleitung soll bei nachfolgendem Statement alle Seite in einer Art Tabelle ausgegeben werden, nur bei passiert das leider nichts.

                $GLOBALS['TYPO3_DB']->debugOutput = TRUE;
		$table = 'pages';
		$where = 'pid='.$GLOBALS['TSFE']->id .     
                $this->cObj->enableFields($table);
		$groupBy = '';
		$orderBy = 'sorting';		
		$limit = '';
		$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery (
			'*',
			$table,
			$where,
			$groupBy,
			$orderBy,
			$limit
		);
		$rows = array();
		while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res))  {
			$rows[] = $row;
		
		}
		$GLOBALS['TYPO3_DB']->sql_free_result($res);
	       debug($rows,'_abz_', __LINE__, __FILE__,5);

Habe auch schon versucht das

$WHERE = 'pid = '...
auf 
$WHERE = 'pid = 4'

zu setzen bringt nur leider keinen Erfolg -.-.

Bin für Anregungen bzw Hilfe was mein Fehler bzw Denkfehler ist dankbar!

Danke schon im Voraus!

Grüße

Ava

meckpo ·

Hallo,

ja was passiert denn dann? Schau doch erst einmal ob du ein "Hello World" ausgeben kannst.

PS: Das Script wie du es gepostet hast sollte dir alle aktiven UNTERSEITEN deiner aktuellen Seite (also der Seite mit deinem Plugin) ausgeben.

PPS: Von "Daten verändern" keine Spur in deinem Skript.

ava99 ·

Hi, danke für deine schnelle Antwort.

Hello Word kann ich ausgeben und es werden mir auch die Fehler in den SQL Statments angezeigt. Wenn das SQL _ Satment richtig ist, dann wird nichts angezeigt.

Grüße Ava

pps: von Daten verändern wollte ich auch nicht, da hast recht das gibt das Script nicht her.

meckpo ·

Hallo,

dann kann es wirklich nur noch sein, dass du keine Ergebnisse aus der Query bekommst. Bist du sicher, dass die Seite die du gerade anzeigst auch wirklich UNTERSEITEN hat?
Testweise kannst du Zeile 3 mal so verändern:

$where = '1' .

Das gibt dir dann ALLE Seiten deines Projektes aus.

Ansonsten gibt es dir vielleicht noch Aufschluss, wie die Query eigentlich lautet:
Vor dem "execSelect" diese Zeile

$GLOBALS['TYPO3_DB']->store_lastBuiltQuery = true;

Danach diese Zeile:

echo $GLOBALS['TYPO3_DB']->debug_lastBuiltQuery;

Das sollte dir die Query auf den Schirm schreiben. Dann kannst du checken, WARUM die 0 Ergebnisse bringt.