我正在尝试将一个包含很长字符串的php变量插入到mysql数据库中。我一直遇到这个错误:
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以获得正确的语法,以使用字符串第2行的近文本行
以下是我用来插入的代码:
$sql = mysql_query("INSERT INTO myResumes (resumeid, rawresumetext)
VALUES('$resumeid', $rawresumetext)")
or die (mysql_error());
我怎么能避免这个?
答案 0 :(得分:2)
可能是因为您忘了引用$rawresumetext
。另外,不要忘记通过mysql_real_escape_string()
$resumeid = mysql_real_escape_string($resumeid);
$rawresumetext = mysql_real_escape_string($rawresumetext);
$sql = mysql_query("INSERT INTO myResumes (resumeid, rawresumetext)
VALUES('$resumeid', '$rawresumetext')")
or die (mysql_error());
答案 1 :(得分:0)
您需要引用字符串$rawresumetext
:
$sql = mysql_query("INSERT INTO myResumes (resumeid, rawresumetext)
VALUES('$resumeid', '$rawresumetext')")
答案 2 :(得分:0)
您可能希望escape the strings通过mysql_real_escape_string()
传递给插入语句,同时缺少'{/ p>
答案 3 :(得分:0)
首先...... 你必须保护MYSQL注意。 我不能重复那么多。
其次,您的问题是由于$rawresumetext
没有被引号括起来。
正确的方法:
$sql = mysql_query("INSERT INTO myResumes (resumeid, rawresumetext)
VALUES(".(int)$resumeid.", '".mysql_real_escape_string($rawresumetext)."')")
or die (mysql_error());
在上面的代码中我假设$ resumid是一个整数。