mysqli真正的转义字符串给出空白输出

时间:2014-08-29 09:25:25

标签: php

我试图从get表单中输入信息到一个数据库,原因很明显我不想冒险sql注入所以我使用转义字符串,但是当我尝试使用mysqli真正的转义字符串时它会导致空白输出,但是当我使用普通时,它可以正常工作

到目前为止,我已设法使用echo $ cly显示它; 即使尝试将实际的转义字符串直接添加到get mysqli_real_escape_string($_GET['cly']);这也不起作用

$cly=$_GET['cly'];
$clyesc=mysqli_real_escape_string($cly);
echo $clyesc;

2 个答案:

答案 0 :(得分:1)

如果您没有打开数据库连接,您将从mysqli_real_escape_string获得空白输出。这将导致PHP发出警告:

  

mysqli_real_escape_string()需要2个参数,1个在线给出...

首先连接数据库并将链接作为第一个参数传递给它。

尽管如此,你通常应该避免mysqli_real_escape_string支持带有绑定参数的预处理语句。

答案 1 :(得分:0)

您需要添加第一个参数作为连接对象:

$cly=$_GET['cly'];
$clyesc=mysqli_real_escape_string($conn, $cly);
echo $clyesc;