Php 在sql中使用查询时显示语法错误,尽管它有效 $query=“从book1 WHERE中选择*”; foreach($条款为每个$){ $i++; 如果($i==1){ $query.=“像“%$each%”这样的关键字”; } 否则{ $query.=”或“%$each%”之类的关键字; } } $hello=mysql\u查询($query); if(mysql_num_rows($hello)>=1) { while($i=mysql\u fetch\u assoc($query)) { 回声'; 回声'; } }
当我运行代码时,会出现以下错误 您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解在第1行的“LIKE”“%paul%”附近使用的正确语法 但当我在mysql上运行时,同样的查询给出了结果 有人能帮我找到代码的问题吗?需要空间吗Php 在sql中使用查询时显示语法错误,尽管它有效 $query=“从book1 WHERE中选择*”; foreach($条款为每个$){ $i++; 如果($i==1){ $query.=“像“%$each%”这样的关键字”; } 否则{ $query.=”或“%$each%”之类的关键字; } } $hello=mysql\u查询($query); if(mysql_num_rows($hello)>=1) { while($i=mysql\u fetch\u assoc($query)) { 回声'; 回声'; } },php,mysql,Php,Mysql,当我运行代码时,会出现以下错误 您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解在第1行的“LIKE”“%paul%”附近使用的正确语法 但当我在mysql上运行时,同样的查询给出了结果 有人能帮我找到代码的问题吗?需要空间吗 $query ="SELECT * FROM book1 WHERE"; foreach ($terms as $each) { $i++; if($i == 1){ $query.="keywords LIKE '%$each%'";
$query ="SELECT * FROM book1 WHERE";
foreach ($terms as $each) {
$i++;
if($i == 1){
$query.="keywords LIKE '%$each%'";
}
else{
$query.="OR keywords LIKE '%$each%'";
}
}
$hello=mysql_query($query);
if(mysql_num_rows($hello)>=1)
{
while($i= mysql_fetch_assoc($query))
{
echo ' ';
echo '<h2><a href="'.$i['link'].'">'.$i['bname'].'</a></h2>';
}
}
否则,查询将变为
if($i == 1){
$query.=" keywords LIKE '%$each%'";
^^^
}
else{
$query.=" OR keywords LIKE '%$each%'";
^^^
}
缺少
at$hello=mysql\u查询($query)代码>
注意:mysql已被弃用,请改用mysqli或PDO
谢谢,这就解决了问题。真不敢相信我竟然没有想到这一点。谢谢你有没有尝试过将“像“%$each%”这样的关键字”替换为“像“%$each%”这样的关键字?”?
SELECT * FROM book1 WHEREkeywords...