PHP和MYSQL检查列值是否等于数组中的任何值?
您好,我有以下查询,理论上,它应该收集一个表中的所有entre,其列值等于数组中的任何一个值。这是我的密码:PHP和MYSQL检查列值是否等于数组中的任何值?,php,mysql,Php,Mysql,您好,我有以下查询,理论上,它应该收集一个表中的所有entre,其列值等于数组中的任何一个值。这是我的密码: $currentname = mysql_query("SELECT * FROM `entree` WHERE `user` IN(".implode(',',$AllFollows).") AND (`type` == '0' OR `type` == '1') ORDER BY id DESC LIMIT 0, $endtime;"); 只有一个问题,它不工作,我现在完全
$currentname = mysql_query("SELECT * FROM `entree` WHERE `user` IN(".implode(',',$AllFollows).") AND (`type` == '0' OR `type` == '1') ORDER BY id DESC LIMIT 0, $endtime;");
只有一个问题,它不工作,我现在完全知道为什么。有人能告诉我我做错了什么,导致了它的功能不正常,这是预期的方式吗?您的IN内容格式不正确(您在double quete中传递了一个值,而不是一个值列表)…试试看
$AllFollow的内容是类型字符串或数字?@scaisEdge其a inta
$AllFollow
和$endtime
的值是多少?他们从哪里来/如何来?您是否也成功地连接了mysql\uuu
而没有其他API?@Fred ii-$allFollows=1,2,5,8,但它经常更改。和结束时间=5@user7133318重新加载下面的答案,对它进行了一些编辑,其中一些是我修复的。使用mysql\u error()
以及使用错误报告检查查询中的错误。如果有,让他们知道。您还可以发布数据库架构及其值。@user7133318。asnwer已更新。。(拒绝删除)并修改了int的代码。@scaisEdge添加了许多缺少的
-可能OP没有发现这一点,也不确定这是否是“关键”。但是if$my\u in\u value=”“
可能应该是if$my\u in\u value==”
,因此您可能需要重新编辑@scaisEdge或to如果($my_in_value==“”)
?也不确定。只有“你”知道;-)@弗雷德二世-非常感谢你。。。你总是很好kind@Fred-我希望我能把这些人情还给你。,。
$my_in_value = "";
foreach ($AllFollows as $key => $value) {
if ($my_in_value == "" ) {
$my_in_value = $value;
} else{
$my_in_value = $my_in_value. ", ". $value . " ";
}
}
$currentname = mysql_query("SELECT *
FROM `entree`
WHERE `user` IN (" . $my_in_value ")
AND (`type` == '0' OR `type` == '1')
ORDER BY id DESC LIMIT 0, $endtime;");