0

ログインページを使用するように変換しましPDOたが、現在は機能していません。あらゆる種類のコード例を実行しましたが、どこが間違っているのかわかりません。これは私には完璧に見えます。また、エラー報告は完全に有効になっていますが、エラーは発生しません。ページが「正しく構成されていない」というブラウザエラーが表示されます。参考までに、これはSQLデータベースです

//コード

<?php

require ("../Android/connect_db.php");    

$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

try {
    $query_unpw = $db->prepare("
        SELECT member_mast.company_name 
        FROM member_mast 
        WHERE username = ? 
        AND password = ?
    ");

    //$username = $_POST['username'];
    //$password = $_POST['password'];
    $username = 'abc';
    $password = 'abc';
    $name = "name";

    $query_unpw->bindValue(1, $username, PDO::PARAM_STR);
    $query_unpw->bindValue(2, $password, PDO::PARAM_STR);   

    $query_unpw->execute();

    $count = $query_unpw->rowCount();

    if ($count > 0) {
        while ($row = $query_unpw->$fetch(PDO::FETCH_ASSOC)) {          
                $name = $row['company_name'];               
        }
        echo $name;     
    } else {
        echo "Username/Password is invalid"; 
    }

} catch(PDOException $e) {
    die($e->getMessage());
}

?>

コードのさまざまな部分をコメントアウトした後に理解できた唯一のことは、次のようにユーザー名とパスワードをコメントアウトすると、

//$username = 'abc';
//$password = 'abc';

次に、ページが読み込まれ、else「ユーザー名/パスワードが無効です」というエコーが表示されます。しかし、私はそれらを間違って使用しているとは思いませんし、それらが正しいことを知っています. 明らかな質問は、私は盲目なのですか? ここで何が問題なのですか? おまけの質問は、_POSTこれが機能するときにこれらの変数に使用するので、ユーザー入力を適切にサニタイズしていますか? まだ本当に新しいのでPDO、これを正しく行っていることを確認したいと思います。助けてくれてありがとう!

4

1 に答える 1

4

問題はここにあります:

$query_unpw->$fetch

それは違いない:

$query_unpw->fetch()

$それは方法なので、その記号を飛ばしてください。

開発中は ini_set('display_errors', "On") を使用することをお勧めします。

于 2013-06-24T18:13:10.393 に答える