我使用mysqli_real_escape_string()函数来逃避sql注入,因为我们知道它与参数一起操作:一个是$ link(mysqli_connect(...)),另一个是$ _POST [''];。
现在,我希望$ link参数位于外部php文件dbconnect.php中(用于快速更改),然后我将它包含在main.php中以分配$ connection变量。
stackoverflow中的每个地方我都发现答案应该是:
ob_start();
include('dbconnect.php');
$connection = ob_get_contents();
ob_end_clean();
当我这样做时:
ob_start();
include('dbconnect.php');
$connection = ob_get_contents();
ob_end_clean();
$auser=mysqli_real_escape_string($connection, $_POST['name_p']); ---line 1
$apassword=mysqli_real_escape_string($connection, $_POST['password_p']); --- line 2
我有一个警告:
警告:mysqli_real_escape_string()期望参数1为mysqli,C:... main.php中给出的字符串--- 1
谢谢
答案 0 :(得分:0)
ob_start =打开输出缓冲, ob_get_contents =返回输出缓冲区的内容 这不是mysqli_real_escape_string()作为第一个参数所需要的...... $ link需要 - > mysqli_connect()或mysqli_init()
返回的链接标识符