Re: Abfrage mit PDO
am 05.08.2006 04:17:12 von Martin Lemke
Am Fri, 04 Aug 2006 12:11:33 +0200 schrieb Helmut Chang:
> Hmm... Wo wird fetch() denn aufgerufen?
>
> Mach einmal "korrekte" Einrückungen und ich rate folgendes:
So direkt hat mir Dein Kommentar nicht geholfen, aber indirekt.
Es lag wohl ein Fehler in der try/catch-Struktur vor. Sowas ist tückisch,
wenn man mit Konstruktionen arbeitet, die man noch nicht richtig kennt und
unsicher ist (PDO).
fetch kam weiter unten in dem Teil des Skriptes, das ich nicht zitierte, da
der Fehler schon darüber auftrat.
Folgende Konstruktion klappt nun:
$sql="SELECT name FROM sf_fundregister WHERE name LIKE 'Clubiona%'";
print "
PDO-Test
\nAusgabe der Datentabelle:
\n";
try {
$db = new PDO('mysql:host= [...]');
if (!$db)
print 'Pech! $db-Objekt konnte nicht erzeugt werden.
';
else
{
$kdo = $db->prepare($sql);
$wert=0;
$kdo->bindParam(":name",$wert);
$kdo->execute();
while ($zeile = $kdo->fetch(PDO::FETCH_OBJ))
print htmlspecialchars($zeile->name)."
\n";
}
}
catch (PDOException $e) {
printf("FEHLER!>/strong> %s
\n",$e->getMessage());
die('Zugriff gescheitert.');
}
Für if (!$db) Dank an Frank Schenk.
BTW:
Hat von Euch mal jemand eine eine Datenbankabgrage mit dem Zend framework
hin bekommen? Das hatte ich alternativ versucht, aber das klappte auch
nicht.
Es gibt noch mehr Widrigkeiten. Etwa dass PDO mit MySQL < Version 5 unter
PHP < Version 5.1.4 gar nicht klappt. Solche Hintergründe erschweren die
Fehlersuche, da das mögliche Fehlerspektrum so breit ist. Ein Fehler muss
nicht zwingend ein eigener sein.
Gruß, Martin
Re: Abfrage mit PDO
am 06.08.2006 06:40:38 von Martin Lemke
Am Sat, 5 Aug 2006 04:17:12 +0200 schrieb Martin Lemke:
> Hat von Euch mal jemand eine eine Datenbankabgrage mit dem Zend framework
> hin bekommen?
Auch da langen meine Fehler woanders. Vielen Dank für Eure Geduld mit mir.
Eine gute Doku findet sich beim hersteller:
http://framework.zend.com/manual/de/zend.db.html
Martin