我有這個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