Maison > base de données > tutoriel mysql > le corps du texte

Pourquoi mon insertion MySQLi échoue-t-elle malgré la réussite de toutes les vérifications de débogage ?

Mary-Kate Olsen
Libérer: 2024-11-15 17:55:02
original
201 Les gens l'ont consulté

Why is My MySQLi Insertion Failing Despite Passing All Debug Checks?

Insertion de données à l'aide de MySQLi

Ce code semble exécuter toutes les vérifications de débogage, mais il ne parvient pas à insérer de nouvelles données dans la base de données. Analysons-le étape par étape.

Le code tente de vérifier si le "nom d'utilisateur" existe déjà dans la table "UserData". Sinon, il essaie d'ajouter une nouvelle ligne. Cependant, il rencontre un problème lors de la partie insertion.

Identification du problème

Le problème réside dans la manière dont les paramètres de liaison sont déclarés pour l'instruction d'insertion. Au lieu de transmettre plusieurs fois des variables individuelles (par exemple, $username, $password deux fois), elles doivent être transmises avec leurs types correspondants.

Solution

La fonction bind_param s'attend à ce que les types de variables précèdent les variables elles-mêmes. Par conséquent, la bonne façon de lier les paramètres est :

$stmt2->bind_param('ss', $username, $password);
Copier après la connexion

Alternativement, si vous utilisez PHP 5.6 ou version ultérieure, vous pouvez simplifier cela en utilisant l'opérateur spread (...) :

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

Une fois les paramètres correctement liés, l'insertion devrait réussir. Notez que le code fourni dans votre question contient des commentaires potentiellement déroutants ou inutiles ; il est recommandé de les supprimer pour plus de clarté.

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