MySQL语法错误

时间:2011-04-19 20:43:33

标签: php mysql

我正在尝试将一个包含很长字符串的php变量插入到mysql数据库中。我一直遇到这个错误:

  

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以获得正确的语法,以使用字符串第2行的近文本行

以下是我用来插入的代码:

$sql = mysql_query("INSERT INTO myResumes (resumeid, rawresumetext) 
 VALUES('$resumeid', $rawresumetext)")  
 or die (mysql_error());

我怎么能避免这个?

4 个答案:

答案 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是一个整数。