$select = "SELECT name FROM table_name WHERE location ='".$loc."' ";
$findname = mysql_query($select) or die(mysql_error());
我一直收到这个错误!我已经尝试了一切!!!
您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以便在#<位置='佛罗里达州''附近使用正确的语法。在第1行
$ loc由以下内容决定:
<input type="text" name="loc"> in the HTML
$loc = $_POST['loc']; in the PHP
答案 0 :(得分:1)
试试这个,使用mysql_escape_string
或mysql_real_escape_string
mysql安全字符串函数
$select = "SELECT `name` FROM `table_name` WHERE `location` ='".mysql_escape_string($loc)."' ";
$findname = mysql_query($select) or die(mysql_error());
答案 1 :(得分:0)
$select = "SELECT name FROM table_name WHERE location ='".mysql_real_escape_string($loc)."' ";
$findname = mysql_query($select) or die(mysql_error());
答案 2 :(得分:0)
只需检查位置变量中的任何single quotes or double quotes
即可。这可能是个问题。
使用str_replace(find,replace,string)
替换字符串中的单引号和双引号。
示例,当您可以在$loc
变量中包含双引号时。
$select = "SELECT name FROM table_name WHERE location ='Flo"rida' ";
查询将以Flo
结束。
答案 3 :(得分:0)
在mysql_real_escape_string
WHERE location =
答案 4 :(得分:0)
我修好了。我使用变量作为表名,并引用了一个空值。谢谢你的帮助!