请教原生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.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
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这里的id是输入错误,正常应该是tid,问题不在这里,打断后,sql 是正常的。DELETE From link where id=69 数据库有这记录。