Maison > développement back-end > tutoriel php > Comment utiliser correctement les instructions préparées par PDO pour les requêtes INSERT INTO dans MySQL ?

Comment utiliser correctement les instructions préparées par PDO pour les requêtes INSERT INTO dans MySQL ?

Linda Hamilton
Libérer: 2024-11-29 13:15:11
original
1041 Les gens l'ont consulté

How to Properly Use PDO Prepared Statements for INSERT INTO Queries in MySQL?

PDO avec INSERT INTO via des instructions préparées

Exécuter des requêtes MySQL via des instructions préparées peut être un peu délicat lorsque vous travaillez avec PDO. Plongeons dans le problème présenté et découvrons la solution :

Dans le code fourni, l'instruction INSERT INTO est construite à l'aide de la méthode prepare(), qui prépare l'instruction mais ne l'exécute pas. Pour exécuter réellement la requête et insérer les données, la méthode execute() doit être appelée.

De plus, lors de l'utilisation d'instructions préparées avec PDO, il est essentiel d'utiliser des espaces réservés (par exemple, :name, :lastname) dans le Requête SQL au lieu d'intégrer directement les valeurs. Les espaces réservés vous permettent de lier les valeurs à l'instruction préparée ultérieurement. Cette approche améliore la sécurité en empêchant les vulnérabilités d'injection SQL.

Le code corrigé devrait ressembler à ceci :

$dbhost = "localhost";
$dbname = "pdo";
$dbusername = "root";
$dbpassword = "845625";

$link = new PDO("mysql:host=$dbhost;dbname=$dbname", "$dbusername", "$dbpassword");
$link->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Set error mode to exception

$statement = $link->prepare("INSERT INTO testtable(name, lastname, age) VALUES(:name, :lastname, :age)");

$statement->bindParam(':name', 'Bob');
$statement->bindParam(':lastname', 'Desaunois');
$statement->bindParam(':age', 18);

$statement->execute();
Copier après la connexion

En utilisant des espaces réservés et en liant les valeurs à l'aide de bindParam(), la requête est correctement exécutée et les données sont insérées dans la base de données. Les instructions préparées aident à empêcher l'injection SQL et à garantir l'intégrité de vos données.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal