1

嘿所以我认为我的问题相当简单,但我似乎无法找到正确的方法来解决它。

我有一个表格,用户应该填写它,然后将其插入数据库,以后可以检索它,它工作正常,直到测试我使用引号......当使用引号(单引号或双引号)时,字符串关闭它只插入了字符串的第一部分。

例如,如果他写“杰夫的房子”,我得到的唯一东西就是“杰夫\”

是什么赋予了?

4

2 回答 2

0

在 INSERT 查询中使用它之前,使用 mysql_escape_string() 函数过滤你的字符串。

如需更多帮助,请参阅此链接http://php.net/manual/en/function.mysql-escape-string.php

于 2013-06-05T15:59:16.760 回答
0

您遇到的问题是用户可以使用MySQL 注入来影响您的数据库。

阅读PDO Prepared statements以避免用户能够使用单/双引号来破坏字符串并将命令直接发送到您的 SQL 数据库,从而损害您的数据。

它通过将字符串与 SQL 语句分开来工作,这样它就不是数据库指令的一部分。

(使用这个系统也意味着您的数据库将能够存储整个字符串,而不管引号如何 - 但在存储时它们在每个字符串之前都会有一个斜杠(\)。这些可以在使用stripslashes命令显示数据时删除.)

于 2013-06-05T15:14:39.370 回答