1

ログインしてAndroidプロジェクトを登録しています。この PHP エラーに対してさまざまな解決策を試しましたが、どれも役に立ちませんでした。

次のエラーが表示されます。

未定義のメソッド mysqli_stmt::get_result() の呼び出し ... 59行目

59行目は次のとおりです。$user = $stmt->get_result()->fetch_assoc();

ドライバーがない場合は、代わりにbind & fetchを使用する必要があると読みましたが、方法がわかりませんでした。

私の機能:

public function getUserByEmailAndPassword($email, $password) {

    $stmt = $this->conn->prepare("SELECT * FROM seemidavajaon WHERE email = ?");

    $stmt->bind_param("s", $email);

    if ($stmt->execute()) {
        $user = $stmt->get_result()->fetch_assoc();
        $stmt->close();
        return $user;
    } else {
        return NULL;
    }
}
4

1 に答える 1

0

いじりの一日の後、私はついにそれを正しくしました。

public function getUserByEmailAndPassword($email, $password) {

    $stmt = $this->conn->prepare("SELECT * FROM seemidavajaon WHERE email = ?");

    $stmt->bind_param('s', $email);

    if ($stmt->execute()) {
        $user = $this->funktsioon( $stmt );
        $stmt = NULL;


        return $user;
    } else {
        return NULL;
    }
}

「funktsioon」という機能で

public function funktsioon( $stmt ) {
    $RESULT = array();
    $stmt->store_result();
    for ( $i = 0; $i < $stmt->num_rows; $i++ ) {
        $Metadata = $stmt->result_metadata();
        $PARAMS = array();
        while ( $Field = $Metadata->fetch_field() ) {
            $PARAMS[] = &$RESULT[ $i ][ $Field->name ];
        }
        call_user_func_array( array( $stmt, 'bind_result' ), $PARAMS );
        $stmt->fetch();
    }
    return $RESULT;
}

ただし、パスワードが正しいかどうかはチェックされないため、これは新しい問題です。

于 2015-10-21T14:19:25.540 に答える