我从数组中获取一些值,并在SQL查询中与这些值进行匹配。
这方面的代码如下:
foreach($files as $ex){
$search = substr($ex,3,4);
$sql = 'SELECT DISTINCT `pdb_code` FROM pdb WHERE `pdb_code` <> ' .$search. ' LIMIT 6';
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($result)){
$pdb[] = $row['pdb_code'];
}
}我遇到的问题是
您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,以便在第1行使用接近“限制6”的正确语法。
请帮忙..。谢谢
发布于 2016-06-07 07:45:28
添加引号:
$sql = 'SELECT DISTINCT `pdb_code` FROM pdb WHERE `pdb_code` <> "' .$search. '" LIMIT 6';发布于 2016-06-07 07:49:12
当您以单引号编写查询,并再次以单引号打印变量时,当您要打印此查询时,您将看到查询的结尾如下:
'SELECT DISTINCT `pdb_code` FROM pdb WHERE `pdb_code` <> '所以,为了让它一直读下去,你必须用双引号把你的变量括起来。我希望这个描述能有所帮助。你可以把它写成这些。
'SELECT xyz FROM abc WHERE xyz = "'.$abc.'" ';或
"SELECT xyz FROM abc WHERE xyz = '.$abc.'"发布于 2016-06-07 07:56:46
通过将查询放在双引号中重写查询:
取而代之的是:
$sql = 'SELECT DISTINCT `pdb_code` FROM pdb WHERE `pdb_code` <> ' .$search. ' LIMIT 6';试试这个:
$sql = "SELECT DISTINCT `pdb_code` FROM pdb WHERE `pdb_code` <> ' .$search. ' LIMIT 6";https://stackoverflow.com/questions/37673358
复制相似问题