我在下面收到以下错误,我相信它的部分内容是我在5'10 - (178cm)
变量传递的插入字符串$en['height']
中的引用。什么是处理此错误的最佳方法?
错误:您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以便在'10 - (178cm)附近使用正确的语法,在第12行使用m_btype ='而不是说'
这是mysql插入:
m_height = '".$en['height']."',
表设置为:
varchar(30) latin1_swedish_ci
答案 0 :(得分:4)
你的问题是你必须逃避"在将它们输入SQL查询之前的字符串。不这样做将允许人们通过输入引号来改变您的查询。我输入以下字符串的示例:
'; select * from users; --
可以执行您不想要的SQL。解决方案是逃避:
m_height = '".mysql_real_escape_string($en['height'])."',
或者更好的是使用更新的查询mysql的方法,例如PDO或mysqli函数。
编辑我也认为你有一个更普遍的语法错误。试试这个:
m_height = "'".mysql_real_escape_string($en['height'])."'",