Lösungen für fehlgeschlagene PHP-Änderungen von Datenbankdaten: 1. Öffnen Sie die entsprechende PHP-Datei. 2. Besorgen Sie sich das Benutzerkonto und das Passwort und stellen Sie eine Verbindung zur Datenbank her. 3. Verwenden Sie die Benutzernamenvariable, um die Daten in der Datentabelle zu ändern. Überprüfen Sie die Fehlermeldung. 5. Überprüfen Sie, ob $db korrekt verbunden und geändert ist. 6. Überprüfen Sie, ob die in SQL enthaltenen Tabellenfeldnamen falsch sind, und ändern Sie sie korrekt.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, Dell G3-Computer.
Was soll ich tun, wenn PHP die Datenbankdaten nicht ändern kann?
Problembeschreibung:
PHP kann die Datenbankdaten nicht ändern
Hängt einen ganzen Tag in der Fehlerberichterstattung ERROR fest, bitte helfen Sie mir
Die Kernfehlerberichterstattung ist wie im Bild dargestellt:
Die Der vollständige Code ist hier:
<?php header('Content-Type:textml;charset=utf-8'); $username='游客'; //获取用户输入的账号和密码并连接数据库 $account=$_POST['account']; $password=$_POST['password']; $db=new mysqli('localhost','root','12345678','newsmanage'); //查询数据库是否已经有相同账号 $query1=$db->prepare("SELECT account FROM user"); $query1->bind_result($theaccount); $query1->execute(); while($query1->fetch()) { if ($account == $theaccount) { echo '<script>alert("该账号已被注册!"); location.href="register.html"</script>'; exit(); } } //将用户输入的账号和密码写入数据库 $add=$db->prepare("INSERT INTO user VALUES (null,'general',null,?,?)"); $add->bind_param('ss',$account, $password); $add->execute(); //数据库对添加的新用户自动生成唯一ID,查寻此ID并赋值变量 $query2=$db->prepare("SELECT userid FROM user WHERE account='$account'"); $query2->bind_result($userid); $query2->execute(); $query2->fetch(); //用username变量修改数据表中的数据 $edit=$db->prepare("UPDATE user SET username=? WHERE account=?"); $edit->bind_param('ss',$username,$account); $edit->execute(); //报错提示:Call to a member function bind_param() on boolean in echo '<script>alert("恭喜您,注册成功!"); location.href="../login/login.html"</script>';
Problemanalyse:
Die Fehlermeldung hat sehr deutlich gemacht, dass Sie eine Mitgliedsfunktion für einen Bool-Wert verwendet haben. Diese Fehlermeldung weist darauf hin, dass Ihre Methode $db->prepare() nicht ausgeführt werden konnte und anstelle des mysqli_stmt-Objekts „false“ zurückgegeben hat. Bitte bestätigen Sie, ob $db korrekt verbunden ist und ob die in SQL in der Prepare-Methode enthaltenen Tabellenfeldnamen falsch sind. und andere Fragen, die mir im Moment nicht einfallen. . .
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn PHP Datenbankdaten nicht ändern kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!