Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php PDO为select语句返回错误的值_Php_Mysql_Select_Pdo_Rows - Fatal编程技术网

Php PDO为select语句返回错误的值

Php PDO为select语句返回错误的值,php,mysql,select,pdo,rows,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

我有一个通过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
语句中看不到任何内容。这里怎么了?

试试这个:(不要用单引号括住标题的值)

试试这个:(不要用单引号括起标题的值)


是的,就是这样。谢谢你,约翰,欢迎你的朋友。如果你认为这真的是答案,那么别忘了接受,这样其他人也能从中受益:)是的,就是这样。谢谢你,约翰,欢迎你的朋友。如果你认为这是真正的答案,那么别忘了接受,这样其他人也能从中受益:)
$sql = "SELECT COUNT(id) FROM tbl_product_category1 WHERE title = ? ";