Maison > développement back-end > tutoriel php > Pourquoi mes instructions préparées PDO ne parviennent-elles pas à s'INSÉRER dans MySQL ?

Pourquoi mes instructions préparées PDO ne parviennent-elles pas à s'INSÉRER dans MySQL ?

DDD
Libérer: 2024-11-24 13:38:12
original
598 Les gens l'ont consulté

Why are my PDO Prepared Statements Failing to INSERT into MySQL?

Erreurs d'instructions préparées avec INSERT INTO dans PDO

Lors de la navigation dans les complexités de PDO, vous pouvez rencontrer des difficultés à utiliser des instructions préparées pour les requêtes MySQL. Considérez le code suivant :

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

$link = new PDO("mysql:host=$dbhost;dbname=$dbname","$dbusername","$dbpassword");

$statement = $link->prepare("INSERT INTO testtable(name, lastname, age)
        VALUES('Bob','Desaunois','18')");

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

Malgré cette approche, votre base de données reste vide.

La solution réside dans l'utilisation appropriée des instructions préparées. Utilisez plutôt ce qui suit :

$link->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

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

$statement->execute([
    'fname' => 'Bob',
    'sname' => 'Desaunois',
    'age' => '18',
]);
Copier après la connexion

Les instructions préparées fournissent une vérification des entrées. Utilisez les espaces réservés ':parameter' dans votre instruction SQL et transmettez un tableau associatif de ces paramètres dans la fonction 'execute'. Vous pouvez également utiliser « ? » des espaces réservés et transmettez un tableau de valeurs.

Les deux méthodes offrent des avantages et des inconvénients. La liaison des noms de paramètres améliore la lisibilité, tandis que cette dernière méthode simplifie le code.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal