前提・実現したいこと
PHPの学習を始めたばかりの者で、MAMPを利用して制作しています。
PHPで新規登録のシステムの値を保存する機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in /sign_up.php on line 17
該当のソースコード
<?php ini_set('display_errors',1); error_reporting(E_ALL); session_start(); $pdo = new PDO('mysql:host=localhost;dbname=t_user;charset=utf8','root','root'); $user = $_SESSION['user']; $pass = $_SESSION['pass']; $mail = $_SESSION['mail']; $options = ['cost' => 12]; $hash = password_hash( $pass, PASSWORD_DEFAULT, $options); $stmt = $pdo -> prepare("INSERT INTO user_table(user,pass,mail) VALUES(?,?,?)"); $stmt -> bindValue(':user', $user, PDO::PARAM_STR); $stmt -> bindValue(':hash', $hash, PDO::PARAM_STR); $stmt -> bindValue(':mail', $mail, PDO::PARAM_STR); $stmt -> execute();//17行目です $pdo = NULL; ?>
試したこと
password_hashを使ったのがいけなかったのかと思い、password_hash抜きで実行しましたが、上記と同じく$stmt -> execute();の行で同じエラーがでました。
補足情報(FW/ツールのバージョンなど)
MAMP Version 5.2 (351)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/16 04:06