Utilisation des déclarations préparées mysqli
Premiers pas avec les déclarations préparées
Vous essayez de utilisez des instructions préparées, mais votre code rencontre une erreur. Le problème vient d'une étape manquante : lier les paramètres à l'instruction préparée.
Paramètres de liaison
Les instructions préparées nécessitent que vous liez des paramètres avant de s'exécuter. Ce processus associe des variables externes aux espaces réservés (?) dans la requête SQL.
$name = 'one'; $age = 1; $stmt = $mysqli->prepare("INSERT INTO users (name, age) VALUES (?,?)"); // Bind parameters (typehint: string, integer) $stmt->bind_param('si', $name, $age); // Now you can execute $stmt->execute();
Ai-je besoin de mysqli pour les instructions préparées ?
Oui, mysqli est requis pour les déclarations préparées.
Complet Exemple
Connexion :
$mysqli = new mysqli("localhost", "root", "root", "test"); if ($mysqli->connect_errno) { echo "Connection failed: " . $mysqli->connect_error; }
Insertion :
$stmt = $mysqli->prepare("INSERT INTO users (name, age) VALUES (?,?)"); // Bind parameters (typehint: string, integer) $stmt->bind_param('si', $name, $age); // Insert row $stmt->execute();
Sélection avec erreur Manipulation :
$stmt = $mysqli->prepare("SELECT * FROM users WHERE name = ?"); $stmt->bind_param('s', $name); $stmt->execute(); if ($stmt->errno) { echo "Error: " . $stmt->error; } else { $result = $stmt->get_result(); } // Process result
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!