Mailinglisten-Archive |
Hallo Andreas, vielen Dank für Deine Antwort! :-) Andreas Ahlenstorf schrieb: > > Am 06.06.2006 um 09:58 schrieb Lutz Zetzsche: > Wenn Hibernate JDBC verwendet, sorgt deine Konfigurationseinstellung > dafür, dass die Prepared Statements emuliert werden (kann sein, muss > aber nicht, weil ich eigentlich von Java 0 Ahnung habe). mysqli > hatte, als ich es das letzte Mal benutzt habe, keine > Emulationsfunktionen. pdo_mysql hat das dagegen seit PHP 5.1.3 > (PDO::ATTR_EMULATE_PREPARES muss auf true gesetzt werden). Das klingt sehr interessant! Werde ich mir merken. Der Haken ist allerdings, daß die PDO-Erweiterung auf dem Online-Server nicht installiert ist. Da ich ohnehin nur MySQL verwenden werden, habe ich mich dann für die MySQLi-Erweiterung entschieden. Ich habe mir auch gedacht, daß ich mit MySQLi mehr Möglichkeiten als mit PDO haben werde, wenn ich ohnehin nur eine MySQL-Datenbank verwenden werde. Aber vielleicht ist das auch nur ein Irrglaube, und bei PDO + MySQL-Treiber gibt es keine Einschränkungen im Vergleich zu MySQLi. (Vielleicht kann das jemand aufklären? :-)) >> 1. Wie kann ich mir eigentlich das fertig zusammengebaute SQL- >> Statement (> mit eingesetzten Parametern) sehen? Komme ich da überhaupt >> von PHP aus >> dran? Oder habe ich eine Chance, die Daten auf MySQL-Seite >> abzugreifen? > > Das wird von MySQL gemacht, ergo kommst du da nicht wirklich dran > (ein Grund, warum ich PDO mit Named Parameters benutze, ich kann > dieses Fragezeichen-Gewusel nicht haben). Hm, schade. Damit läuft also irgendwo etwas schief, ohne daß ich an die Stelle des Problems vordringen kann... >> 2. Ich suche bisher verzweifelt bei mysqli sowas wie >> "is_connected". Wie >> komme ich an diese Information, ob das mysqli-Objekt auch eine gültige >> Verbindung hält? > > Kriegst du nicht nur ein Objekt, wenn die Verbindung vorhanden ist? > Ergo kein Objekt wenn keine Verbindung? Wenn Du mysqli_connect verwendest, wird sowohl das mysqli-Objekt erstellt, als auch die Verbindung hergestellt. Verwendest Du mysqli_real_connect, dann mußt Du zunächst mit mysqli_init das mysqli-Objekt instantiieren und kannst dann mit mysqli_real_connect die Verbindung herstellen. Wenn Du dann am Ende mit mysqli_close die Verbindung schließt, ist bleibt das Objekt aber erhalten! Im Augenblick arbeite ich also implizit, d.h. alles, was ich mit dem Objekt mache, wird in einen try/catch-Block gepackt. Tritt ein Fehler auf, fange ich die Exception ab und behandele sie. :-) Vielleicht fehlt ja auch dieses "is_connected", weil man es so machen kann. Obwohl ich es schon schön fände, abfragen zu können, ob eine gültige Verbindung exitiert. ;-) Viele Grüße Lutz
php::bar PHP Wiki - Listenarchive