Que dois-je faire si PHP ne parvient pas à modifier les données de la base de données ?

藏色散人
Libérer: 2023-03-17 06:40:01
original
1493 Les gens l'ont consulté

Solutions en cas d'échec de la modification PHP des données de la base de données : 1. Ouvrez le fichier PHP correspondant ; 2. Obtenez le compte utilisateur et le mot de passe et connectez-vous à la base de données ; 3. Utilisez la variable de nom d'utilisateur pour modifier les données dans la table de données ; Vérifiez le message d'erreur : 5. Vérifiez si $db est correctement connecté et modifié. 6. Vérifiez si les noms de champs de table impliqués dans SQL dans la méthode de préparation sont incorrects et modifiez-les correctement.

Que dois-je faire si PHP ne parvient pas à modifier les données de la base de données ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur Dell G3.

Que dois-je faire si PHP ne parvient pas à modifier les données de la base de données ?

Description du problème :

PHP ne peut pas modifier les données de la base de données

Bloqué dans le rapport d'erreurs d'ERREUR pendant une journée entière, aidez-moi s'il vous plaît
Le rapport d'erreurs principal est comme indiqué dans l'image :

Que dois-je faire si PHP ne parvient pas à modifier les données de la base de données ?

Le le code complet est ici :

<?php 
header(&#39;Content-Type:textml;charset=utf-8&#39;); $username=&#39;游客&#39;; 
//获取用户输入的账号和密码并连接数据库 
$account=$_POST[&#39;account&#39;]; $password=$_POST[&#39;password&#39;]; 
$db=new mysqli(&#39;localhost&#39;,&#39;root&#39;,&#39;12345678&#39;,&#39;newsmanage&#39;); 
//查询数据库是否已经有相同账号 
$query1=$db->prepare("SELECT account FROM user"); 
$query1->bind_result($theaccount); $query1->execute(); 
while($query1->fetch()) { if ($account == $theaccount) { echo &#39;<script>alert("该账号已被注册!");
location.href="register.html"</script>&#39;; exit(); } } 
//将用户输入的账号和密码写入数据库 
$add=$db->prepare("INSERT INTO user VALUES (null,&#39;general&#39;,null,?,?)"); 
$add->bind_param(&#39;ss&#39;,$account, $password); $add->execute(); 
//数据库对添加的新用户自动生成唯一ID,查寻此ID并赋值变量 
$query2=$db->prepare("SELECT userid FROM user WHERE account=&#39;$account&#39;"); 
$query2->bind_result($userid); $query2->execute(); $query2->fetch(); 
//用username变量修改数据表中的数据 
$edit=$db->prepare("UPDATE user SET username=? WHERE account=?"); 
$edit->bind_param(&#39;ss&#39;,$username,$account); $edit->execute(); 
//报错提示:Call to a member function bind_param() on boolean in echo &#39;<script>alert("恭喜您,注册成功!");
location.href="../login/login.html"</script>&#39;;
Copier après la connexion

Analyse du problème :

Le message d'erreur est très clair, indiquant que vous avez utilisé une fonction membre sur une valeur booléenne. Ce message d'erreur indique que votre méthode $db->prepare() n'a pas pu s'exécuter et a renvoyé false au lieu de l'objet mysqli_stmt. Veuillez confirmer si $db est correctement connecté et si les noms de champs de table impliqués dans le SQL dans la méthode de préparation sont incorrects. et d'autres questions auxquelles je ne peux pas penser pour le moment. . .

Apprentissage recommandé : "Tutoriel vidéo PHP"

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!

Étiquettes associées:
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!