我创建了一个表单来收集用户数据,包括地址并将它们写在Mysql DB中。
在用户表格中,Street
是Varchar (255)
。
一切正常,除非在名称街上有撇号,在这种情况下我有
以下SQL警告:
例如,如果在Street
名称中我放了“Francesco D'assisi 24”
Error: 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 'assisi 24'
,
任何想法如何避免它?
答案 0 :(得分:0)
通过存储过程参数传递变量。
答案 1 :(得分:0)
需要转义数据:使用函数mysql_real_escape_string(或其他库中的类似物),或使用PDO和参数。
例如:
$data = <<<TXT
Francesco D'assisi 24
TXT;
$data = mysql_real_escape_string($data);
mysql_query("INSET INTO table VALUES ('$data')") or die mysql_error();