Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mySQLI-mySQLI\u real\u escape\u字符串存在问题_Php_Mysql_Mysqli - Fatal编程技术网

Php mySQLI-mySQLI\u real\u escape\u字符串存在问题

Php mySQLI-mySQLI\u real\u escape\u字符串存在问题,php,mysql,mysqli,Php,Mysql,Mysqli,我有这段代码,工作非常完美,但我想做一个简单的修改 <?php session_start(); require 'includes/f_banco1.php'; require '../PasswordHash.php'; function checkBd($sql, $db, $user, $codePass) { $user = $_GET['userid']; //here $codePass = $_GET['code'];//here if

我有这段代码,工作非常完美,但我想做一个简单的修改

    <?php session_start();
require 'includes/f_banco1.php';
require '../PasswordHash.php';


function checkBd($sql, $db, $user, $codePass) {
    $user = $_GET['userid']; //here
    $codePass = $_GET['code'];//here

    if(is_numeric($user)) {

        ($sql = $db->prepare("select userid, code from password_reset where userid=? and code=?"));

        $sql->bind_param('ss', $user, $codePass);

        $sql->execute();

        $sql->bind_result($user, $codePass);

        if ($sql->fetch()) {
            $_SESSION['u_name']= sha1($user);
            header("location: updatePass.php");
            return true;
        }
        else
        echo "Não existe na BD";
        return false;

    }
    else
    echo "Erro";

}

checkBd ($sql, $db, $user, $codePass);

?>

但是有了这个更改,代码简单停止工作,$user的回声不会显示任何内容

有什么想法吗


谢谢

您不需要这样做。您正在使用准备好的语句,这些语句会自动转义变量。

如果准备好语句,则不需要转义字符串


注意:必须打开数据库连接才能使用mysqli\u real\u escape\u string()

我不需要执行scape?好消息:)@user455318:如果你没有使用预先准备好的语句,那么你需要逃逸——别忘了:)可能是重复的
$user = $_GET['userid']; //here
$codePass = $_GET['code'];//here
    $user = mysqli_real_escape_string($db, $_GET['userid']);
$codePass = mysqli_real_escape_string($db, $_GET['code']);