php - 检查 PDO 语句的结果以运行条件

标签 php html mysql pdo

我也尝试将新数字输入到数据库中(仅当它尚不存在时),为了做到这一点,我正在执行以下操作

if (isset($_POST['Number'])) {
    $number = ($_POST['Number']);
        $NCheck = "SELECT COUNT(*) FROM `DS_Numbers` WHERE `Number` = '$number' ";

    $stmt = $dbCon->prepare($sql);//* prepared statement for result which populates table
    $stmt->execute();
        $result = $stmt->fetchColumn(0);


        if($result > 0){ // if there is a value then block
            $ENumber = "This Number already exists";
            $errors[] = 'error';
     } else {
            echo "number done";// echo statement to see that it has reached this
            $number1 = ($_POST['Number']);
            }
} else {
     $errors[] = 'error';
     $ENumber = "Please enter only digits from 0-9";
}

当前发生的情况是我的 PDO 语句没有返回,因此我的结果值始终为 0,但我的研究均未表明我有问题

对我哪里出错有什么建议吗? 我从页面上的 HTML 表单获取 Number,那边没有问题。

最佳答案

首先要注意的是,您正在一个名为 $NCheck 的变量中编写查询,而不是 $sql

所以这一行

$stmt = $dbCon->prepare($sql);

应该是

$stmt = $dbCon->prepare($NCheck);

另请注意,使用 PDO 的主要优点之一是使用绑定(bind)参数,但您没有这样做,并且实际上暴露于 SQL 注入(inject),因为您只是添加在查询中 POST 中获得的值.

关于php - 检查 PDO 语句的结果以运行条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33804833/

相关文章:

javascript - 如何在 while 循环中为每个 div 创建一个 ID 并使用 JQuery 发出警报

php - 无法在图像上打印文本

python - 如何将 Beautiful Soup 输出保存到我​​的 SQLite 数据库中?

html - 为什么只有一张大图片作为主页不好?

mysql - macOS Sierra 上的 mariadb 10.1.21 mysql.server 启动错误

php - 创建新主题后出现 Drupal 错误, undefined variable : hide_site_name and other similar error

php - 使用javaScript在linux环境下的Intranet中获取客户端主机名

javascript - 使用javascript在html中添加多个文本框

mysql - 我无法在存储过程mysql中进行算术运算

mysql - 通过从每条记录中减去 4 小时来更新时间戳值