Php 带引号的姓氏破坏SQL查询,如何修复此问题?
可能重复:Php 带引号的姓氏破坏SQL查询,如何修复此问题?,php,mysql,Php,Mysql,可能重复: 我请一位朋友来测试我的网站,他的姓是“a”。O'Rourke所以我对Rourke的语法有错误。显然是由撇号引起的 我如何防止这种情况发生,以便他可以注册到我的网站 $name = $user_profile[name]; mysql_select_db("gamedb", $con); $sql="INSERT IGNORE INTO Users (FID, Name, Date) VALUES ('$fid','$name',NOW())"; 逃跑能解决问题吗?我实际上无法
我请一位朋友来测试我的网站,他的姓是“a”。O'Rourke所以我对Rourke的语法有错误。显然是由撇号引起的 我如何防止这种情况发生,以便他可以注册到我的网站
$name = $user_profile[name];
mysql_select_db("gamedb", $con);
$sql="INSERT IGNORE INTO Users (FID, Name, Date) VALUES ('$fid','$name',NOW())";
逃跑能解决问题吗?我实际上无法尝试转义它,因为该名称是从usr facebook帐户检索到的
感谢使用
mysql\u real\u escape\u string()作为变量
$sql = "INSERT IGNORE INTO Users (
FID,
Name,
Date
) VALUES (
'" . mysql_real_escape_string($fid) . "',
'" . mysql_real_escape_string($name) . "',
NOW()
)";
对变量使用mysql\u real\u escape\u string()
$sql = "INSERT IGNORE INTO Users (
FID,
Name,
Date
) VALUES (
'" . mysql_real_escape_string($fid) . "',
'" . mysql_real_escape_string($name) . "',
NOW()
)";
使用以下命令对字符串进行转义:
$name = mysql_escape_string($user_profile[name]);
这将防止使用以下内容对字符串进行转义:
$name = mysql_escape_string($user_profile[name]);
这可以防止在插入行之前,您应该使用mysql\u real\u escape\u string($sql)
在插入行之前,您应该使用mysql\u real\u escape\u string($sql)
使用准备好的语句。这将自动处理输入转义。当前插入的INSERT
对一个用户打开。查看使用准备好的语句。这将自动处理输入转义。当前插入的INSERT
对一个用户打开。查看您需要在php中使用mysql\u real\u escape\u string
函数。您可以在这里看到详细信息您需要在php中使用mysql\u real\u escape\u string
函数。你可以在这里看到详细信息除了上面的重复,你真的想点击那篇关于SQL注入的文章的答案中的链接。这不是第一次向你解释这一点吗?除了上面的重复,你真的想点击关于SQL注入的帖子答案中的链接。这不是第一次向你解释这一点吗?这是我认为唯一的答案。