php - 执行方法始终设置为 true

标签 php pdo execute

我的 php 脚本有问题。

我想从数据库中删除一条记录,因此我使用了 execute() 方法,当我作为参数传递的代码没有记录时,它应该返回 false,但它总是尽管没有任何包含该代码的记录,但返回 true。

这是脚本:

<?php

include('connexion.php');

//Récuperation des valeurs 
$code = $_POST['code'];

if($code)
{
    //Suppression de l'enregistrment avec le code = $code à m'aide d'une requête préparée
    $req = $bdd->prepare('Delete from chambre where code_ch = ?');
    $rowDeleted = $req->execute(array($code));
    //Ou bien : mysql_query('Delete from chambre where code_ch = '.$code);

    $supprimer = ($rowDeleted == true) ? 'OK' : 'notfound';

}
else
{
    $supprimer = 'empty';
}

header('Location: supprimer.php?supprimer='.$supprimer.'&code='.$code);

?>

最佳答案

PHP PDO 对象将(正确地)返回成功/真值以删除零行。解决这个问题的一种方法是使用类似 $pdo->rowCount() 的方法来查看 PDO 影响了多少行。如果您尝试删除行,则应考虑 $pdo->rowCount() 的结果为 0,这意味着您没有成功删除想要删除的行。

关于php - 执行方法始终设置为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14002541/

相关文章:

c# - 如何在c#中执行命令?

autoit - RunWait() - 添加参数

php - PDO + MsSQL + freetds = INSERT 查询中的错误字符

php - 使用CONVERT转换mysql中的特殊字符

java - 在 Java 上连接的 Oracle 数据库中执行存储过程

php - PHP PDO 语句可以接受表名或列名作为参数吗?

php - 如何使用单个查询更新mysql中的单列和多行

javascript - 使用Javascript动态删除html行和删除列

php - 将样式回显到 google map 和 WordPress 自定义字段的混搭中

php - 通过 PDO 创建 MySQL 函数时遇到问题