1

を実行すると、

mysqli_bind_result();

「未定義関数の呼び出し」というエラーが表示されます。

私のコードは次のようになります。

$mysqli = new mysqli("localhost", "root", "", "*****");
if(isset($_POST['login'])){
    if($_POST['username']){
    if($_POST['password']){
    $username = $_POST['username'];
    $passwordtmp = $_POST['password'];
    $password = md5(md5($passwordtmp));
    //Connect to Database//
    if ($mysqli->connect_errno) {
            echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
    }
    //Check if user exist in database//
    $query = mysqli_query($mysqli,"SELECT * FROM users WHERE username = '$username'");
    $numrows = mysqli_num_rows($query);
    if($numrows == 1){
        if($stmt = mysqli_prepare($mysqli, "SELECT password FROM users WHERE username = '$username'")){
            mysqli_execute($stmt);
                    mysqli_bind_result($stmt,$passw);
                    while(mysqli_stmt_fetch($stmt)){
                        $pass = $passw;  
                    }

追加情報:

  1. mysql データベースへの同じ接続を使用して、このコードを別のコンピューターからラップトップに転送しました。

        $mysqli = new mysqli("localhost", "root", "", "*****");
    
    1. 正確なデータベースをラップトップにコピーしましたが、コンピューターとラップトップの両方が wamp を使用しています。

    2. これがデータベースの問題に関連しているのか、それとも単なるコーディング エラーなのか疑問に思っています。しかし、元のコンピューターでは問題なく完全に動作します。

前もって感謝します。私は役に立つ答えを信用します。

4

1 に答える 1

5

mysqli_bind_result関数は PHP 5.4 で削除されたため、おそらく PHP > 5.4 を使用しています。

に変更するmysqli_stmt_bind_resultと、問題が解決するはずです。

mysqli_stmt_bind_result($stmt, $passw);
于 2013-01-21T21:42:41.823 に答える