請(qǐng)教原生PHP? PDO 刪除一筆記錄 一直不成功,不知道錯(cuò)在哪裡,困擾半天了,請(qǐng)大牛指點(diǎn)一下。
需要想透過GET的方式刪除一條數(shù)據(jù),
?<a? href="localhost/admin/cmd.php?act=delInfo&t=link&id=60">?刪除</ a>
<?php //連接數(shù)據(jù)庫 $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請(qǐng)求刪除信息,localhost/admin/cmd.php?act=delInfo&t=link&id=60 // 參數(shù)中的 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"); } ?>
結(jié)果出錯(cuò)了,錯(cuò)誤提示:
Fatal error: Uncaught Error: Call to a member function exec() on null in D:\phpstudy_pro\WWW\admin\cmd.\admin\cmd. php:32 Stack trace: #0 D:\phpstudy_pro\WWW\admin\cmd.php(22): delInfo() #1 {main} thrown in?D:\phpstudy_pro\WWW\admin\cmd.php?on line?32
?$sql="DELETE?From?".$t."?where?id=".$tid;
? 這裡的id是輸入錯(cuò)誤,正常應(yīng)該是tid,問題不在這裡,打斷後,sql?是正常的。 DELETE From link where id=69?資料庫有這紀(jì)錄。
$count=$conn->exec($sql);?//這個(gè)是出錯(cuò)行。