簡體   English   中英

mysqli_stmt_get_result()替換

[英]mysqli_stmt_get_result() replacing

這是我在本地“開發”服務器上使用的代碼,但是不幸的是,我的遠程服務器不支持mysqli本機驅動程序-如何替換mysqli_stmt_get_result();

碼:

$query = "SELECT * FROM class WHERE email = ? AND password = ?";
        $stmt = mysqli_prepare($connect,$query);
        mysqli_stmt_bind_param($stmt,'ss',$nickname,$password);
        mysqli_execute($stmt);
        $result = mysqli_stmt_get_result($stmt);
        $row = mysqli_fetch_assoc($result);
        include("year_tester.php");
        if(mysqli_num_rows($result) != ""){
            $_SESSION['loggedIn'] = true;
            $_SESSION['loginName'] = $nickname;
            $_SESSION['classIdentify'] = $rocnik.".".$className;
            header('Location: index.php');
        }

...可以在PDO中重寫嗎? :p

    $pdoh=new PDO("mysql:host=127.0.0.1;dbname=testdb;charset=utf8",
    $mysqldb_username,$mysqldb‌​_password,
    array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));
    $query = "SELECT * FROM class WHERE email = ? AND password = ?";
    //$stmt = mysqli_prepare($connect,$query);
    $pdosh=$pdoh->prepare($query);
    //mysqli_stmt_bind_param($stmt,'ss',$nickname,$password);
    //i feel sorry for the guy writing the garabage collector :(
    $pdosh->bindParam(1,$nickname, PDO::PARAM_STR);
    $pdosh->bindParam(2,$password, PDO::PARAM_STR);
    //mysqli_execute($stmt);
    $pdosh->execute(); //using ERRMODE_EXCEPTION right?
    //$result = mysqli_stmt_get_result($stmt);
    //$row = mysqli_fetch_assoc($result);
    $row=$pdosh->fetch();
    require("year_tester.php");
    if($pdosh->rowCount()>0/*mysqli_num_rows($result) != ""*/){
        $_SESSION['loggedIn'] = true;
        $_SESSION['loginName'] = $nickname;
        $_SESSION['classIdentify'] = $rocnik.".".$className;
        header('Location: index.php');
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM