我找不到为什么mysqli_real_escape_string
在向数据库输入数据时不加斜杠。我检查了手册,它说
mysqli_real_escape_string
需要有2个参数。其他参数是你的数据库连接,当我检查数据库中的数据时,我发现单引号和没有反斜杠添加。下面的代码可能有问题。我不知道如何使用准备好的语句,请任何帮助..!mysqli_real_escape_string(),不添加反斜杠
function open_handler()
{
// Connects to MYSQL
$connect = new mysqli(HOST,USER,PASS,DB);
// Logic Checks
if($connect)
{
// MYSQL SET TO UTF8 ENCODING
@mysqli_query('set names "utf-8"');
@mysqli_query('set character set "utf8"');
@mysqli_query('set character_set_server="utf8"');
@mysqli_query('set collation_connection="utf8_general_ci"');
}
if(!$connect)
{
die('UNABLE TO CONNECTION TO MYSQL SERVER');
}
return $connect;
}
function add_user($uname,$pwd,$email)
{
$n_uname = mysqli_real_escape_string(open_handler(),$uname);
$n_pwd = $pwd;
$n_email = $email;
$sql = sprintf("INSERT INTO `users` SET
`uname`='%s',
`pwd`='%s',
`email`='%s',
$n_uname,$n_pwd,$n_email);
$query = mysqli_query(open_handler(),$sql);
// logic check
if(!$query)
{return FALSE;}
else
{return TRUE;}
@mysqli_free_result($query);
}
'open_handler()'正在一*** ***新的连接每次它叫!不要这样做。将'$ connect'保存在可以重新使用的地方。 – 2013-03-15 14:11:24
***为什么***使用'@'来压制错误? – Kermit 2013-03-15 14:13:41
[伟大的逃避现实(或:你需要知道如何处理文本中的文本)](http://kunststube.net/escapism/) – deceze 2013-03-15 14:23:46