当我尝试instert包含引号的字符串时,INSERT查询失败.如何插入带单引号或双引号的字符串?
例如:
$message = "Bob said 'don't forget to call me'";
MysqL_query("INSERT INTO soMetable (messages) VALUES ('$message')");
我认为输入需要过滤,但我应该使用哪个功能?
最佳答案
$message = MysqL_real_escape_string($message);
此函数应该应用于要在引号中插入查询的每个变量.没有例外.
它不是真正的保护注射,而只是一种语法规则.
虽然你也需要真正的保护.
我在最近的回答中详细解释了:In PHP when submitting strings to the database should I take care of illegal characters using htmlspecialchars() or use a regular expression?