請教原生PHP PDO 刪除一筆記錄 一直不成功,不知道錯在哪裡。
志远电脑小马哥
志远电脑小马哥 2022-05-11 20:38:55
0
2
922

請教原生PHP  PDO 刪除一筆記錄 一直不成功,不知道錯在哪裡,困擾半天了,請大牛指點一下。

需要想透過GET的方式刪除一條數據,

 <a  href="localhost/admin/cmd.php?act=delInfo&t=link&id=60"> 刪除</ 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");
	}
?>

結果出錯了,錯誤提示:

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

志远电脑小马哥
志远电脑小马哥

全部回覆(1)
志远电脑小马哥
 $sql="DELETE From ".$t." where id=".$tid;

  這裡的id是輸入錯誤,正常應該是tid,問題不在這裡,打斷後,sql 是正常的。 DELETE From link where id=69 資料庫有這紀錄。

$count=$conn->exec($sql); //这个是出错行。

  • 回覆 沒有把$conn 傳入 delInfo 方法裡,沒看到報錯說找不到這個exec成員方法嗎
    ABOUT 作者 2022-05-27 09:52:06
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板