ユーザーログイン機能を使用していて、「無効な列数」という奇妙な問題に直面しています。私はそれをGoogleと多くの人が同じ問題を抱えていて、彼らの質問は少し違っていた。SQLSTATE [HY093]:無効なパラメータ番号 - PDO Select文
は、ここに私のコードです:
//this is a function inside user class. And function receives $user_data array
try{
$stmt = $this->db_connection->prepare("SELECT `id` FROM `aaa_users` WHERE (`user_email` = :user_email OR `user_name` = :user_email) AND `user_pass` = :user_pass");
$stmt->bindparam(':user_email', $user_data['email']);
$stmt->bindparam(':user_pass', $user_data['password']);
$stmt->execute();
$count = $stmt->rowCount();
} catch (PDOException $e){
echo $e->getMessage();
}
登録クエリの作品が、これは例外をスローします。私は知っている、小さな間違いがあるだろうが、私は一日中過ごしているとそれを把握することはできません。
助けていただければ幸いです!
「bindparam」の代わりに['bindParam'](http://php.net/manual/en/pdostatement.bindparam.php)(大文字の「P」)を試してみることをお勧めします。それ以外のものはすべて私にとって正しいものです。 –
mysqliではなくpdoを確実に実行しますか? – Doug
あなたは3つのプレースホルダーを持ち、2つはバインドされています...「無効な列数」がどこに由来しているのでしょうか。 – YvesLeBorg