Frage:
Wie kann ich veraltete mysql_*-Funktionen durch ersetzen? PDO und vorbereitete Anweisungen zum sicheren Speichern und Abrufen von Daten aus einer Datenbank?
Antwort:
$hostname = '*host*'; $username = '*user*'; $password = '*pass*'; $database = '*database*'; $dbh = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
$username = $_POST['username']; $email = $_POST['email']; $stmt = $dbh->prepare("INSERT INTO `users` (username, email) VALUES (?, ?)"); $stmt->bindParam(1, $username, PDO::PARAM_STR); $stmt->bindParam(2, $email, PDO::PARAM_STR); $stmt->execute();
Der Längenparameter ist für PDO::PARAM_STR nicht erforderlich. Wenn Sie jedoch eine maximale Zeichenbeschränkung für das Feld in Ihrer Datenbanktabelle haben, können Sie diese wie unten gezeigt nach PDO::PARAM_STR angeben:
$stmt->bindParam(1, $username, PDO::PARAM_STR, 255);
$user_id = $_GET['id']; $stmt = $dbh->prepare("SELECT * FROM `users` WHERE `id` = ?"); $stmt->bindParam(1, $user_id, PDO::PARAM_INT);
Das obige ist der detaillierte Inhalt vonWie ersetzt man veraltete „mysql_*'-Funktionen durch PDO und vorbereitete Anweisungen für sichere Datenbankinteraktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!