PD= & bindParam()
Moin,
ich glaube, es gehört ins Anfängerforum...
Wenn ich mit prepared statements einen SQL Befehl erzeuge, wie kann ich mir den "fertigen" SQL String anzeigen lassen?
Bsp.:
Code: In Zwischenablage kopieren (nur IE)
Es wäre auch gut, wenn man den letzten ausgeführten String anzeigen lassen könnte. Hauptsache irgendwie... geht das?
DB ist in diesem Fall MySQL.
Greetz!
Antworten
Schau' in die Doku deiner Datenbankabstraktionsklasse. Oder sag uns wenigstens was Du da benutzt, Hellsehen kann hier niemand.
2.
Du stellst dir das falsch vor. Bei Prepared Statements wird eben
kein String erzeugt. Erst wird das SQL an die Datenbank geschickt. Und im zweiten Schritt werden dann die eigentlichen Daten uebermittelt.
3.
@Olli: PDO - siehe Titel... leider war der Geist schneller als die Hand, somit ist aus dem O ein = geworden *g*
Zitat:
pecos postete
Du stellst dir das falsch vor. Bei Prepared Statements wird eben kein String erzeugt. Erst wird das SQL an die Datenbank geschickt. Und im zweiten Schritt werden dann die eigentlichen Daten uebermittelt.
Mhh, ist es also auch nicht im Nachhinein möglich, sich den ausgeführten SQL String anzuzeigen? :(
4.
Nö, dafür sind die prepared statements nicht gedacht, du hast nur was du auch mit print_r($stm) siehst... All dieses prepare-zeug macht sowieso nur ärger, auch wenn die idee toll wäre ;)
5.
Was fuer einen Aerger denn?
6.
Zitat:
pecos postete
Was fuer einen Aerger denn?
Mh, das wüsste ich auch mal gern... hat ansonsten nur Vorteile, also PDO allgemein... automatische Maskierung, verschiedene DB Systeme...
7.
Naja, Ärger ist wohl etwas übertrieben. Es macht ja was es soll. Es kommt eher drauf an was man machen will. Bei prepare() und execute() weiss man halt nach dem execute nicht mehr, was executed wurde (wie DJLopez ja gemerkt hat) und das kann einem das Spiel manchmal verderben... ;) Das "Hauptproblem" ist, dass PDO->prepare() ein PDOStatement zurückgibt und und die Methode execute() nicht zu PDO sondern zu PDOStatement gehört.