dre*_*ard 2 php mysql string quotes apostrophe
我的问题是:你如何在字符串中允许单引号?
例如,我有一个表单和一个文本框.它被设置为允许用户输入他们的名字.从那里,它将数据发布并提供给数据库.
我需要能够允许单引号(撇号),因为有些人的名字在他们的名字中有撇号,例如"O'Reilly".
有什么建议?
单引号不以任何方式被禁止.我只是假设你在插入数据库时遇到错误.这可能是由于mysql_real_escape_string()输入值的遗漏.
如果您尝试INSERT ... ('O'Reilly')SQL转义函数的全部内容,您将收到SQL错误.
(这就是
magic_quotes最初引入的原因:让SQL为新手开箱即用. - 不要让它特别安全.)
对插入数据库的任何文本使用mysql_real_escape_string()函数.如果要将数据直接发布到数据库中,则可能在脚本中出现错误,因为您实际执行的操作是结束MySQL引用.
您逃避数据也是一种安全必需品.你应该拥有以下内容:
$q = "INSERT INTO `table` (`body`) VALUES ('".mysql_real_escape_string($_POST['body'])."')";
Run Code Online (Sandbox Code Playgroud)