加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP PDO无法删除记录

发布时间:2020-12-13 21:52:44 所属栏目:PHP教程 来源:网络整理
导读:PDO从数据库中删除记录时遇到了一些问题. 它只是返回错误,我似乎无法理解为什么,任何人都可以帮忙吗? 代码: $db = new PDO('sqlsrv:Server='.DB_HOST.';Database='.DB_NAME,DB_USER,DB_PASS);$query = $db-prepare('DELETE * FROM '.$table.' WHERE id = :
PDO从数据库中删除记录时遇到了一些问题.

它只是返回错误,我似乎无法理解为什么,任何人都可以帮忙吗?
代码:

$db = new PDO('sqlsrv:Server='.DB_HOST.';Database='.DB_NAME,DB_USER,DB_PASS);
$query = $db->prepare('DELETE * FROM '.$table.' WHERE id = :id');
$query->bindValue(':id',$id);
$query->execute();

我也尝试过:

$db = new PDO('sqlsrv:Server='.DB_HOST.';Database='.DB_NAME,DB_PASS);
$db->exec('DELETE * FROM '.$table.' WHERE id = '.$id);

我知道数据库中的用户有权删除,因为我可以在SQL客户端中成功运行查询.

有任何想法吗?

谢谢 :)

解决方法

你的第一个例子很好,一个错误

$db = new PDO('sqlsrv:Server='.DB_HOST.';Database='.DB_NAME,DB_PASS);
$query = $db->prepare('DELETE FROM '.$table.' WHERE id = :id');
$query->bindValue(':id',$id);
$query->execute();

在简单的删除语句中不需要*.

仅供参考,rowCount()可以很好地确认删除工作,如下所示:

$countDel = $query->rowCount();
if ($countDel == 0) {
echo "No rows deleted";
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读