mysqli提供空白输出的真实转义字符串


mysqli real escape string giving blank output

我试图将get表单中的信息输入数据库,原因很明显,我不想冒sql注入的风险,所以我使用转义字符串,但当我尝试使用mysqli真实转义字符串时,它会导致空白输出,但当使用纯get时,它可以很好地进行

到目前为止,我已经设法使用echo$cly;即使在尝试将真正的转义字符串直接添加到getmysqli_real_escape_string($_GET['cly']);时,此操作也不能在中工作

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

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

mysqli_real_escape_string()只需要2个参数,其中1个在-行中给定…

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

也就是说,您通常应该避免使用mysqli_real_escape_string,而使用带有绑定参数的准备好的语句。

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

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