###前提・実現したいこと
PHPでPDOを利用してログイン機能の実装。(文字列をログインIDにしたい)
###発生している問題・エラーメッセージ
http://qiita.com/KosukeQiita/items/b56b3004413c999b9858
こちらのサイトを参考に自分のデータベースにアクセスをし、ログイン機能が実装できるようになりました。
ですがこちらのサイトではint型のidをログインIDとして利用していますが、自分はvarcharのidをログインIDとしてログインしたいと思っています。
そこでvarcharのカラム名をuser_idとしてPhpMyAdminでaccountsの中に追加しました。
###該当のソースコード
$stmt = $pdo->prepare('SELECT * FROM accounts where id = ?');
ここを
$stmt = $pdo->prepare('SELECT * FROM accounts where user_id = ?');
に変更したところ
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'admin' in 'where clause'
というエラーがでてしまい。データベースから参照できません。
###試したこと
MySQLで使用する疑問符は調べるとint型に使えると書いてあって、charだと''で囲む必要があるとのことだったので
$stmt = $pdo->prepare('SELECT * FROM accounts where user_id = "?"');
やエスケープ処理などを試しましたがうまくいきません。
###補足情報(言語/FW/ツール等のバージョンなど)
テーブル名:accounts
user_idにはテストデータとしてadminを追加してある。
回答3件
あなたの回答
tips
プレビュー