PDO为select语句返回错误的值

时间:2012-07-29 10:48:46

标签: php mysql select pdo rows

我有一个通过PDO与MySQL一起工作的PHP应用程序。我有一个包含不同记录的表格,我必须预先插入一个重复的记录。但是当我想检查现有项时,select语句不会返回真值。这是我的代码:

$sql = "SELECT COUNT(id) FROM tbl_product_category1 WHERE title = '?'";
$q = $db->prepare($sql);
$q->execute(array($title));
if ($q->fetchColumn() == 0)
{
    ...

我也测试过这个:

$sql = "SELECT id FROM tbl_product_category1 WHERE title = '?'";
$q = $db->prepare($sql);
$q->execute(array($title));
$rows = $q->rowCount();
if ($rows == 0)
{
    ...

想象一下$title=1。我有4个具有此值的记录。但我在SELECT陈述中看不到任何内容。这有什么不对?

1 个答案:

答案 0 :(得分:3)

试试这个:( 不用单引号包装标题的值

$sql = "SELECT COUNT(id) FROM tbl_product_category1 WHERE title = ? ";