Maison > base de données > tutoriel mysql > Pourquoi mon instruction MySQLi INSERT ne met-elle pas à jour la base de données ?

Pourquoi mon instruction MySQLi INSERT ne met-elle pas à jour la base de données ?

Linda Hamilton
Libérer: 2024-11-20 00:55:03
original
618 Les gens l'ont consulté

Why Isn't My MySQLi INSERT Statement Updating the Database?

Insertion de données à l'aide de MySQLi

Lorsque vous tentez d'insérer des données à l'aide de MySQLi, vous pouvez rencontrer un scénario dans lequel le code ne met pas à jour la base de données malgré l'absence d'erreurs lors du débogage. Dans cette question, un utilisateur a rencontré ce problème avec le code suivant :

$stmt2 = $conn->prepare("INSERT INTO UserData (username, password) VALUES (?, ?)");
$username = /* $_POST["username"] */ "hi";
$password = /* $_POST["password"] */ "hey";
$stmt2->bind_param('s', $username);
$stmt2->bind_param('s', $password);
$stmt2->execute();
Copier après la connexion

Le problème provenait d'une utilisation incorrecte de bind_param(). Au lieu de lier chaque variable individuellement, cela doit être fait en une seule fois en utilisant la syntaxe correcte. Le code corrigé est :

$stmt2 = $conn->prepare("INSERT INTO UserData (username, password) VALUES (?, ?)");
$username = /* $_POST["username"] */ "hi";
$password = /* $_POST["password"] */ "hey";
$stmt2->bind_param('ss', $username, $password);
$stmt2->execute();
Copier après la connexion

De plus, en utilisant PHP 5.6 ou version ultérieure, l'opérateur spread (...) peut simplifier encore plus la syntaxe :

$data = ['user' => 'someUser', 'password' => 'secret'];
$stmt2->bind_param('ss', ...$data);
Copier après la connexion

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!

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