Heim > Fragen und Antworten > Hauptteil
Bitte geben Sie mir einen Rat, wie ich einen Datensatz mit nativem PHP PDO löschen kann. Ich weiß nicht, wo der Fehler liegt. Bitte geben Sie mir einen Rat.
Sie müssen ein Datenelement über GET löschen.
<a href="localhost/admin/cmd.php?act=delInfo&t=link&id=60"> Löschen</a>
<?php //连接数据库 $servername = 'localhost'; $charset = 'utf8mb4'; $username = 'sa'; $password = '123456'; $dbname='touying'; $conn = new PDO("mysql:host=$servername;dbname=$dbname;charset=$charset", $username, $password); $act=$_GET["act"]; switch ($act) { case 'AdminLogin': AdminLogin(); break; case 'delInfo': delInfo(); break; default:; } // get请求删除信息,localhost/admin/cmd.php?act=delInfo&t=link&id=60 // 参数中的 act=操作的方法, t=link是要操作的表名link,id=60 是要操作的id. Function delInfo(){ $t=$_GET["t"]; $tid=$_GET["id"]; $sql="DELETE From ".$t." where id=".$id; $count=$conn->exec($sql); print("Deleted $count rows.\n"); } ?>
Das Ergebnis ist ein Fehler, Fehlermeldung:
Schwerwiegender Fehler: Uncaught Error: Call to a member function exec() on null in D:phpstudy_proWWWadmincmd.php:32 Stack Trace: #0 D:phpstudy_proWWWadmincmd.php(22): delInfo() # 1 { main} wird in D:phpstudy_proWWWadmincmd.php in Zeile 32 geworfen
志远电脑小马哥2022-05-11 20:48:01
$sql="DELETE From ".$t." where id=".$tid;
这里的id是输入错误,正常应该是tid,问题不在这里,打断后,sql 是正常的。DELETE From link where id=69 数据库有这记录。
$count=$conn->exec($sql); //这个是出错行。