Um die Verbindung
try {
$db = new PDO("mysql:dbname=".DB_NAME.";host=".DB_HOST,DB_USER,DB_PWD);
} catch (PDOException $e) {
die("Database Connection Failed: " . $e->getMessage());
}
Dann erstellen Sie eine Anweisung
$prep = $db->prepare("SELECT * FROM `users` WHERE userid = ':id'");
Wie man sehen kann vorzubereiten, Sie jeden Parameter kennzeichnen Sie mit durch das Vorsetzen beliebige Zeichenfolge möchten ‚:‘. Dann übergeben Sie nur ein Array, das den Parameter (: id) dem Wert bei der Ausführung zuordnet.
if (!$prep->execute(array(":id" => $userinput))) {
$error = $prep->errorInfo();
echo "Error: {$error[2]}"; // element 2 has the string text of the error
} else {
while ($row = $prep->fetch(PDO::FETCH_ASSOC)) { // check the documentation for the other options here
// do stuff, $row is an associative array, the keys are the field names
}
}
Statt PDO :: FETCH_ASSOC mit dem „holen“ -Funktion gibt es verschiedene andere Möglichkeiten, um Ihre Daten zu erhalten. Sie können fetchAll verwenden, um ein Array aller Ergebnisse auf einmal zu erhalten, anstatt nur Zeile für Zeile zu gehen. Oder Sie können das Informationsfeld als ein 0-indiziertes Array abrufen oder Sie können die Ergebnisse sogar direkt in eine Klasseninstanz abrufen (wenn die Feldnamen mit den Eigenschaften der Klasse übereinstimmen).
Die gesamte Dokumentation von PDO kann hier gefunden werden: PHP.net PDO Manual
Ich glaube, dass Sie die Anführungszeichen um einen Platzhalter nicht benötigen: '" SELECT * FROM \ 'Benutzer \' WHERE userid =: id "' –