【发布时间】:2014-12-29 10:44:20
【问题描述】:
我的会话中有一个字符串数组,我试图将其存储到数据库中。但我收到一个错误:
您的 SQL 语法有错误;检查手册 对应于正确语法的 MySQL 服务器版本
我的代码如下:
$improve =$_SESSION['post']['improve'];
if(is_array($improve))
{
$sql = "INSERT INTO student (improve1) values ('%s')";
$valuesArr = array();
$i=0;
for ($i=1; $i <=$childtoen; $i++)
{
$improve_list="";
if ($improve[$i][0]!="")
{
$improve= mysql_real_escape_string( $improve[$i] );
$improve_list = implode( ',', $improve); echo $improve_list; //echo is working Fine
}
$improve_list = mysql_real_escape_string( $improve_list );
$valuesArr[] = "('$improve_list' )";
}
$sql .= implode(',', $valuesArr);
mysql_query($sql,$connection) or exit(mysql_error());
}
我也在转义字符串的原因可能是什么?我什至尝试转义 imptove_list 但没有帮助。
【问题讨论】:
-
完整的错误信息是什么?
-
只需
echo查询结果,看看有什么问题。很明显! -
执行
echo $sql并向我们展示结果。为什么每个新用户都使用mysql_*函数?它们已弃用,请勿使用。学习 mysqli 甚至更好的 PDO。mysql_*已弃用。 -
完全错误是
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('ADHD,ASPERGER' )' at line 1@juergend