Probleme mit PDO bzw. Print_r

SGDynamo1953

Well-known member
ID: 304160
L
31 Oktober 2007
410
23
Hallo

Da ich meine Webseite jetzt auf PDo umstellen will verusche ich mich jetzt dort reinzuarbeiten, doch leider harpert es schon andem verbindungs aufbau. habe folgenden Code verwendet:

PHP:
try {
   $dbh = new PDO('mysql:host=localhost;dbname=XXXXXXXX', $user, $pass);
   foreach ($dbh->query('SELECT * from FOO') as $row) 
{
      print_r($row);
   }
   $dbh = null;
} catch (PDOException $e) {
   print "Error!: " . $e->getMessage() . "<br/>";
   die();
}

$user und $pass sind vorher definiert wurden und für XXXXXXX wurde auch der richtige datenbankname angegeben.

nun erhalte ich folgenden fehlercode:

Parse error: syntax error, unexpected T_PRINT

dies trifft auf den befehl print_r($row); zu. was ist daran falsch?

Danke schon einmal im vorraus.

MFG
SGD
 
@strolch: Das ist nen Compile-Fehler und kein Routine-Fehler ;)

Der Code ist zu 100% syntaktisch korrekt, ich habe ihn auch extra nochmal selbst ausgeführt.
 
Und was passiert wenn du die query erstmal in eine variable abspeicherst und dann iterierst oder ein var_dump von der variable macht? Vielleicht kriegen wir ja einen anderen Fehler der uns mehr sagt :?:
 
Und was passiert wenn du die query erstmal in eine variable abspeicherst und dann iterierst oder ein var_dump von der variable macht? Vielleicht kriegen wir ja einen anderen Fehler der uns mehr sagt :?:

Habe soeben var_dump vor dem print_r befehl eingefügt, aber dort zeigt es mir keine fehlermeldung an, sondern wieder in der danach folgenden zeile mit dem print_r


EDIT:

Habe soeben den fehler behoben, allerdings trott jetzt eine stufe höher folgender fehler auf: Invalid argument supplied for foreach()
 
Zuletzt bearbeitet:
Wie wurde der Fehler denn behoben?
Meiner Meinung nach ist es ja ein (unterdrückter) MySQL-Fehler.

Das FOO ist hoffentlich nur für hier abgeändert worden.
 
Hast du keinen Editor, der dir Zeilennummer anzeigt? 8O



Notepad2 z.B., kann ich sehr empfehlen.

Doch habe ich, aber da ich gestern abend schon recht müde war und ganz vergessen hatte das ich etwas weiter unten noch den printbefehl eingefügt habe hatte ich mich verbissen auf den einen print oben festgebissen ohne die zeile wirklich mal zu prüfen.
Aber das andere problem was ich noch gepostet habe besteht weiterhin. wenn jemand auf die schnelle iene lösung hat wäre das supi, ansonsten werd ich mir dann mal zeit für nehmen.
 
Das hatte ich ziemlich am Anfang schon gepostet, das ich denke das der Code so nicht stimmen kann.

Wenn ich richtig liege muss da noch rein fetch() oder fetchAll() ran, je nachdem was Du brauchst.

*edit
PHP:
...
foreach ($dbh->query('SELECT * from FOO')->fetchAll(/*evtl noch $fetch_style ändern */) as $row)
...
 
Hmm ok die andere frage ist, ist denn der forechteil überhaupt notwenig zum POD mit der db zu connecten?
Ich habe erst vor knapp ner woche angefangen und habe den code einfach mal von selfhtml kopiert und angepasst. da es auf vielen webseiten das beispiel mit dem print und forech gibt bin ich von ausgegangen das es notwendig ist!?