我有一个值列表,我想用一个语句检查MySQL中是否存在任何值。
$tags = "VALUE-IN-MySQL,DOESNT-EXIST1,DOESNT-EXIST2";
$tagArray = explode(",", $tags);
$qMarks = str_repeat('?,', count($tagArray) - 1) . '?';
$tagsCheck = $dbh->prepare("SELECT * FROM tags WHERE tag IN ($qMarks)");
$tagsCheck -> execute($tagArray);
echo $tagsCheck -> rowCount();
这个问题是如果语句中至少存在一个则回显为1,但即使组中只存在一个值,我也不会否认该语句,但其他人则不然。
这可能吗?
答案 0 :(得分:0)
试试这个:
"SELECT count(*) total, * FROM tags WHERE tag IN ($qMarks) GROUP by tag HAVING total > 0"
答案 1 :(得分:0)
基于上述问题,我的脚本确实有效。然而,它计算存在多少,如果不存在,那么我会做,如果其他检查像Madan Sapkota建议。