私は最近、Mysql_* から PDO に切り替えました。これは、MySQL データベースに接続して作業するための、より安全な新しい方法だと聞きました。
クエリ、準備など、多くの基本を学びました。
やりたいこと
現在、「Email」と「ID」という名前の 2 つのテキスト フィールドがあります。ユーザーが登録するとき、彼は自分の電子メールを入力します。登録後、彼は独自の ID を受け取ります。パスワードなしでアカウントのステータスを確認できるようにしてほしい。
メールアドレスとIDを入力して「送信」をクリックするだけです。[送信] をクリックすると、システムは同じメールと ID を持つ列があるかどうかを確認する必要があります。これらとまったく同じ電子メールと ID を持つ列がある場合、while ループを作成して、作成日などの彼のアカウントの列から情報を取得できます..
私の質問
どうすればいいですか?
私がこれまでに行ったことは次のとおりです。
if (isset($email) && isset($id) && isset($submit)) {
$fetch = $connect->prepare("SELECT * FROM users WHERE email = :email LIMIT 1");
$fetch->bindValue(':email', $email);
$fetch->execute();
$validate = $fetch->fetchColumn();
if ($validate == 0) {
echo 'failed';
} else {
echo 'not failed';
}
while($row = $fetch->fetch( PDO::FETCH_ASSOC )) {
//We can fetch here...
}
}
私の友人は、mysql_num_columns 関数を置き換える fetchColumn() を使用するように勧めてくれましたが、うまくいかないようです。
正しいメール アドレスを入力しましたが、「失敗しませんでした」ではなく「失敗しました」と表示されます。
この方法が機能しないのはなぜですか? 私はこれを間違っていましたか?
ありがとう!