2012-07-29 23 views
0

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

$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声明中看不到任何内容。这里有什么问题?

回答

3

试试这个:

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

没错,就是它(不单引号包裹的称号值)。谢谢约翰 – 2012-07-29 10:55:50

+0

你的欢迎队友。不要忘记接受,如果你认为这是真正的答案,所以其他人也可以受益:) – 2012-07-29 10:57:53