实际上,我正在尝试输入与该字符串相似的字符串
放入MySQL(这是一行,为了可读起见,分成两行)
fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:1px;
stroke-linecap:butt;stroke- linejoin:miter;stroke-opacity:1
MySQL允许我使用phpMyAdmin将字符串插入字段中,并且phpMyAdmin将字段添加为(为了便于阅读,再次将其分成两行):
('fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-
linecap:butt;stroke-linejoin:miter;stroke-opacity:1'' in ''field list')
使用我的PHP代码,我尝试将in字段列表部分添加到我的代码中,如下所示
$rectangle_array[$rstyle] = $rectangle_array[$rstyle] . "' in ''field list'";
$mysql_rectangle_table_entry = "INSERT INTO $mysql_table VALUES
($rectangle_array[$rstyle], 'rect',
$rectangle_array[$rid], $rectangle_array[$rwidth],
$rectangle_array[$rheight], $rectangle_array[$rx],
$rectangle_array[$ry])";
$run = mysql_query($mysql_rectangle_table_entry) or die(mysql_error());
在运行代码时,我收到以下错误。
您的SQL语法有误。检查与您的MySQL服务器版本相对应的手册,以在第1行的':#0000ff; fill-rule:evenodd; stroke:#000000; stroke-width:1px; stroke-linecap:butt; s'附近使用正确的语法
我该怎么做才能使这项工作?
最佳答案
如评论中所述…
您可以在插入之前使用mysql_real_escape_string()
转义任何MySQL特殊字符。
例如:
$sql = "INSERT INTO my_table (string_column) VALUES ('" . mysql_real_escape_string($string) . "')";
另一种选择是将Prepared Statements与PHP的MySQLi或PDO一起使用。