スケジューラーを作っています。
PHPのMYSQLにデータ登録の質問なのですが、user,schedule,user_scheduleとテーブルが3つあって、user_scheduleというは中間テーブルになりまして、持っているカラムはuser_schedule_id,user_id,schedule_idになります。
ここでscheduleをフォームから登録すると同時にuser_scheduleのschedule_idにも登録したいのですが、どのようにコードを組み上げるのかがイメージがつきません、
schedule_idというのは自動付番なので、一度scheduleが登録されないと存在しないので、中間テーブルであるuser_scheduleにはどうやって登録したらいいものかと、、、
登録の流れは、userが複数いて、scheduleを登録する際に、scheduleテーブルの項目と、そのスケジュールに参加するuserも一緒に登録する流れです。
scheduleテーブルにはカラムとしてuser関連のものは持っていないので、user_scheduleテーブルが1つのschedule_idと1つOR複数のuser_idを持ちます。
やってみたことは、insertして、excuteしてからまたinsertみたいなことや、最初のinsertの時にjoinでuser_schedule,scheduleを結合くらいはしましたがやはりうまくいきませんでした。
ひとまず今現在のエラーです。
Fatal error: Uncaught Error: Call to undefined method PDOStatement::excute() in C:\xampp\htdocs\scd\php\top.php:29 Stack trace: #0 {main} thrown in C:\xampp\htdocs\scd\php\top.php on line 29
php
1 $pdo = db_connect(); 2 $stmt = $pdo->prepare('INSERT INTO schedule(start_date,end_date,start_time,end_time,plan_category,plan_title,plan_detail,place,pab_flag) VALUES (?,?,?,?,?,?,?,?,?)'); 3 $stmt->execute([$start_date, $end_date, $start_time, $end_time, $plan_category, $plan_title, $plan_detail, $place, $pab_flag]); 4 $last_s_id = 'SELECT LAST_INSERT_ID()'; 5 $stmt = $pdo->prepare('INSERT INTO user_schedule(schedule_id) VALUES $last_s_id'); 6 $stmt->excute(); 7
アドバイス等よろしくお願いいたします。