我有这个PHP代码mysql命令通过RAND()一行
$coma_count=substr_count($Hob,',');
if ($coma_count==0) {
$query="SELECT * FROM user_opt WHERE Interests='$Hob' LIMIT 80";
}else{
$expl=explode(',',$Hob);
for ($i=0; $i <=$coma_count; $i++) {
$query.=" UNION SELECT * FROM users WHERE Interests LIKE '%{$expl[$i]}%'";
}
}
$sql=$con->query($query." ORDER BY RAND()") or die($con->error);
的$coma_count
数从0到112,问题是,当$coma_count
为0(意味着只有被选中的国家)我的查询会看起来像这样SELECT * FROM user_opt WHERE Country='$Countr' LIMIT 80 ORDER BY RAND()
哪些不被SQL接受,我该怎么办?
变化的代码,以确保该查询** **是通过SQL接受?我不确定我是否明白这个问题。问题在哪里...... – Dekel
如果问题是“什么是正确的语法” - 答案是“ORDER BY RAND()LIMIT 80”(而不是相反)。现在您需要按照创建正确查询的方式编写代码。 – Dekel