0

我有一个值列表,我想用一个语句检查 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,但即使组中仅存在一个值,我也不会否认该语句,但其他值不存在。

这可能吗?

4

2 回答 2

0

基于上述问题,我的脚本确实有效。但是,它会计算存在的数量,如果不存在,那么我会按照 Madan Sapkota 的建议进行检查。

于 2013-02-24T04:15:28.980 回答
0

尝试这个:

"SELECT count(*) total, * FROM tags WHERE tag IN ($qMarks) GROUP by tag HAVING total > 0"
于 2013-02-24T03:46:32.360 回答