【发布时间】:2016-01-19 09:23:00
【问题描述】:
我正在将数据从 AJAX 传递到我的 PHP。我只是运行for 循环来进行查询。我的数据的问题是它包含单引号。
我在查询中使用单引号将我的参数括起来。查询类似于
INSERT INTO myTable (column1.column2) VALUES('value1', 'value2'),
('value'1', 'value2');
我想逃跑
INSERT INTO myTable (column1.column2) VALUES('value1', 'value2'),
('value\'1', 'value2');
我刚试过mysqli_real_Escape_String。它返回类似
INSERT INTO myTable (column1.column2) VALUES(\'value1\', \'value2\'),
(\'value\'1\', \'value2\');
所以查询执行失败。
我不认为使用htmlspeciachars 是正确的方法。
有什么建议吗?
【问题讨论】:
-
我建议您使用PDO 在 PHP 中访问数据库。如果你不会,你可以使用mysql_escape_string
-
使用准备好的语句 - mysqli 和 PDO 都支持它们,一旦你掌握了它们,它会让生活变得更加轻松
-
我不认为我可以使用参数。由于行数和列数是动态的。我只使用 mysqli_query