前提・実現したいこと
HTMLからフォームが送られてきてID,パスワードの記入をmySQLと接続して比較する。
会っていればセッション登録して別ページへ、失敗した場合はもう一度、記入画面へ遷移する。
やりたいことは
エラー表記が出ている
$records->execute(array($_POST['id'], $_POST['password']));で、エラー表記をなくすこと。
発生している問題・エラーメッセージ
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near
該当のソースコード
<?php try { $db = new PDO('mysql:dbname=bulletinboard;host=127.0.0.1;charset=utf8', 'root', '' ); session_start(); if (!empty($_POST)) { //ウェブ転送がされない問題としては条件分岐でパスワードがないと思われている if ($_POST['id'] !='' && $_POST['password'] !='') { $records = $db->prepare('SELECT * FROM member WHERE id=? AND password =?'); $records->execute(array($_POST['id'], $_POST['password'])); //13lines have a trouble about express! $member = $records->fetch(); if ($member) { $_SESSION['password'] = $member['password']; $_SESSION['time'] = time(); header("Location: homemain.php"); exit(); } else { $error['login'] = 'ログインに失敗しました'; header("Location: homepage.php"); return print $error; } }else{ $error['login'] = '記入欄が空白です'; header("Location: homepage.php"); return print $error; } } } catch (PDOException $e) { echo "データベース接続エラー :".$e->getMessage(); } ?>