Die Konsole in OS X gibt "[14-Aug-2011 15:59:59] PHP Hinweis: Use der undefinierten konstanten Wurzel - angenommen 'Wurzel' in / Anwendungen / MAMP / htdocs3 / nettuts / PHP / PDO für Datenbank Access / mysql_pdo_connect.php in Zeile 20. "
Ich habe "gegoogelt" und hier eine Teilantwort gefunden. Also habe ich hier auf die Fertigstellung gehofft.
TIA
Sie tun:
%Vor%Was hätte sein sollen:
%Vor% Mit Anführungszeichen. Ansonsten denkt PHP, dass es eine Konstante statt einer Zeichenfolge ist. Wenn ich jedoch auf Ihren Code schaue, sehe ich, dass Sie constants
für den Zugriff auf die Datenbank definiert haben. Warum also nicht einfach:
AKTUALISIEREN
Ich sehe auch, dass Sie MySQL mit PDO verwenden. Bitte beachten Sie, dass Sie, um sicher MySQL mit PDO zu verwenden müssen emulierte vorbereitete Anweisungen deaktivieren :
%Vor%Bitte beachten Sie, dass ich auch die Codierung in der DSN-Zeichenfolge (in meinem Fall zu utf8) eingestellt habe. Ich frage mich auch, ob Sie wirklich die Konstanten in Ihrem Code brauchen, weil Sie oft nur eine Verbindung pro Anfrage benötigen (zu der gleichen Datenbank), so dass Sie diese Globals nicht herumfliegen müssen, wenn Sie die Verbindung nur einmal erstellen und weitergeben die Verbindung zu den Teilen des Codes, die es brauchen. Siehe auch meine etwas verwandte Frage für weitere Informationen dazu.
Sie haben nirgendwo im obigen Code eine Konstante namens root
definiert. Stattdessen haben Sie eine Konstante namens DB_USER
mit dem Wert von "root" und eine andere mit dem Namen DB_PASSWORD
mit demselben Wert definiert. In der PHP-Dokumentationsseite für define()
finden Sie weitere Informationen dazu, wie dieser Typ von konstante Arbeiten.
Versuchen Sie Folgendes:
%Vor%Tags und Links php