[英]How to insert string with single quote in Mysql & Oracle database?
[英]How to insert a string that contains quote marks into a database?
当我尝试instert包含引号的字符串时,INSERT查询失败。 如何插入带单引号或双引号的字符串?
例如:
$message = "Bob said 'don't forget to call me'";
mysql_query("INSERT INTO someTable (messages) VALUES ('$message')");
我认为输入需要过滤,但我应该使用哪个功能?
你应该总是逃避用户提供他们去它进入数据库,以防止SQL注入在任何情况下之前的事情什么。
$message = mysql_real_escape_string($message);
此函数应该应用于要在引号中插入查询的每个变量。 没有例外。
它不是真正的保护注射,而只是一种语法规则。
虽然你也需要真正的保护。 我在最近的回答中详细解释过: 在PHP中,当我向数据库提交字符串时,我应该使用htmlspecialchars()处理非法字符还是使用正则表达式?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.