PDO和rowcount

时间:2015-02-09 09:18:17

标签: 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";
    }

1 个答案:

答案 0 :(得分:1)

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

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