PHP PDO 无法删除记录
PHP PDO can't delete record
我在使用 PDO 从数据库中删除记录时遇到了一些问题。
只是 returns 错误,我似乎不明白为什么,有人可以帮忙吗?
代码:
$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_USER, DB_PASS);
$db->exec('DELETE * FROM '.$table.' WHERE id = '.$id);
而且我知道数据库中的用户具有删除权限,因为我可以 运行 在 SQL 客户端中成功查询。
有什么想法吗?
谢谢:)
你的第一个例子很好,除了一个错误
$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();
在简单的删除语句中不需要 *。
仅供参考,rowCount()
可以很好地确认删除是否成功,如下所示:
$countDel = $query->rowCount();
if ($countDel == 0) {
echo "No rows deleted";
}
DELETE FROM $table WHERE id = $id
DELETE
语句中没有*
到这里来一些简单的 documentation。
我在使用 PDO 从数据库中删除记录时遇到了一些问题。
只是 returns 错误,我似乎不明白为什么,有人可以帮忙吗? 代码:
$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_USER, DB_PASS);
$db->exec('DELETE * FROM '.$table.' WHERE id = '.$id);
而且我知道数据库中的用户具有删除权限,因为我可以 运行 在 SQL 客户端中成功查询。
有什么想法吗?
谢谢:)
你的第一个例子很好,除了一个错误
$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();
在简单的删除语句中不需要 *。
仅供参考,rowCount()
可以很好地确认删除是否成功,如下所示:
$countDel = $query->rowCount();
if ($countDel == 0) {
echo "No rows deleted";
}
DELETE FROM $table WHERE id = $id
DELETE
语句中没有*
到这里来一些简单的 documentation。