簡體   English   中英

PHP准備的語句錯誤

[英]PHP prepared statement error

因此,當用戶登錄時,我正在嘗試更新數據庫中的某些內容,除最后一部分外,其他一切似乎都很好,我得到的輸出是:

“未知嚴重錯誤”和“命令不同步;您現在不能運行此命令”

這是我的代碼:

<?php
$user = $_POST['username'];
$pass = $_POST['password'];
$connect = mysqli_connect("localhost","myuser","mypass","somedb");
$query = "SELECT `password` FROM `userauth` WHERE `username`=?";
if($stmt = $connect->prepare($query)){
    $stmt->bind_param('s',$user);
    $stmt->execute();
    $stmt->bind_result($tmp_pass);
    $stmt->fetch();
    if($tmp_pass===$pass){
        $letters = array('a','b','*','x','e','d','z','p','@','#');
        $letter_key="";
        for($i=0;$i<sizeof($letters);$i++){
            $letter_key=$letter_key.$letters[rand(1,sizeof($letters-1))];
        }
        $key = rand(1341163,9999999);
        $key2 = rand(3541,9999);
        $complete_key = $key.$letter_key.$key2;
        setcookie("key",$complete_key);
        setcookie("user",$user);
        $query_auth = "UPDATE `userauth` SET `auth_key`=? WHERE `username`=?";
        if($stmt_2 = $connect->prepare($query_auth)){
            $stmt_2->bind_param('ss',$complete_key,$user);
            $stmt_2->execute();
        }else{
            echo "Critical error, unknown ".mysqli_error($connect);
            exit;
        }
        echo "success";
    }else{
        echo "Error Invalid Username or Password";
    }
}else{
    "Database link error";
}
?>

有人可以解釋一下可能是什么問題。 是的,我所有的字段都是字符串。

在$ stmt-> fetch()之后嘗試$ stmt-> close()

暫無
暫無

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

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