PHPで毎日の朝昼晩の体重やその他の登録事項を記録するシステムを作っています。
朝登録をして同じレコード内に今度は昼の内容を登録次は夜の分という形で同じページで何度も処理を行いたいと考えています。
その中でON DUPLICATE KEY UPDATEを使いできると考え複合ユニークキーを設定しました。
ここに質問の内容を詳しく書いてください。
現在このようなエラーコードが出ています
SQLSTATE[HY093]: Invalid parameter number
コードの書き方等で解消できるものなのでしょうか?
該当のソースコード
ソースコード `` ``<?php $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $statement = $db->prepare("INSERT INTO con SET name=?, user_id=?, team=?, con_date=?, taion=?, weight_1=?, weight_2=?, weight_in=?, weight_out=?, physical_in=?, physical_out=?, mental_in=?, mental_out=?, injury_in=?, injury_in_coment=?, injury_out=?, injury_out_coment=?, sleep_in=?, sleep_out=?, sleep_time=?, sleep_quality=?, tr_time=?, gym_quality=?, gym_coment=?, gekkei=?, medicine=?, medicine_coment=?, cear=?, cear_coment=? ON DUPLICATE KEY UPDATE name=?, team=?, taion=?, weight_1=?, weight_2=?, weight_in=?, weight_out=?, physical_in=?, physical_out=?, mental_in=?, mental_out=?, injury_in=?, injury_in_coment=?, injury_out=?, injury_out_coment=?, sleep_in=?, sleep_out=?, sleep_time=?, sleep_quality=?, tr_time=?, gym_quality=?, gym_coment=?, gekkei=?, medicine=?, medicine_coment=?, cear=?, cear_coment=?"); $statement->execute(array( $_SESSION['name'], $_SESSION['id'], $_POST['team'], date('Y-m-d'), $_POST['taion'], $_POST['weight_1'], $_POST['weight_2'], $_POST['weight_in'], $_POST['weight_out'], $_POST['physical_in'], $_POST['physical_out'], $_POST['mental_in'], $_POST['mental_out'], $_POST['injury_in'], $_POST['injury_in_coment'], $_POST['injury_out'], $_POST['injury_out_coment'], $_POST['sleep_in'], $_POST['sleep_out'], $_POST['sleep_time'], $_POST['sleep_quality'], $_POST['tr_time'], $_POST['gym_quality'], $_POST['gym_coment'], $_POST['gekkei'], $_POST['medicine'], $_POST['medicine_coment'], $_POST['cear'], $_POST['cear_coment'], )); $db = null; header('Location: kanryou.php'); //thank.phpへ移動 exit(); } catch (PDOException $e) { echo $e->getMessage(); exit(); }
試したこと
補足情報(FW/ツールのバージョンなど)
mysql 5.7
回答2件
あなたの回答
tips
プレビュー