mysql - PDO 和行数

标签 mysql pdo rowcount

我试图使下面的 PDO 查询正常工作,但不知何故它没有。 这就是我的大脑爆炸的程度! 有没有人可以说我做错了什么?

$dbh = new PDO("mysql:host=localhost;dbname=databasename", "user", "pass");
    $stmt = $dbh->prepare("SELECT * FROM `something` WHERE `email`=':email' and `name`=':name'");
    $stmt->bindParam(':email', 'mail@mail.nl',PDO::PARAM_STR);
    $stmt->bindParam(':name', 'name',PDO::PARAM_INT);
    $stmt->execute(); 

    if($stmt->rowCount() == 1)
    {
        echo "row count 1";
    }
    else if ($stmt->rowCount() == 0)
    {
        echo "row count 0";
    }
    else if ($stmt->rowCount() > 1)
    {
        echo "row count greater then 1";
    }

最佳答案

单引号 (') 表示 SQL 中的字符串文字,因此防止 PDO 在其中进行解析。如果你想使用绑定(bind)变量,你应该删除引号(别担心,PDO 会把它们作为字符串正确处理):

$stmt = $dbh->prepare
        ("SELECT * FROM `something` WHERE `email`=:email and `name`=:name");

关于mysql - PDO 和行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28406256/

相关文章:

php - MySQL 从一个单独的表中选择一个键

php - 如何判断查询何时在 PHP PDO 中成功执行?

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

azure - 获取 Azure 表行数

sql - 获取删除的记录数sql

mysql - 为什么这个 mysql 查询不起作用?

MySQL 错误 1005 错误号。 150 个带主键

PHPMyAdmin 数据库用 0 而不是字符串填充字段

mysql - 按 2 个参数搜索

php - 使用 Php 我无法回显 HTML 表格