質問するログイン新規登録

質問編集履歴

3

修正

2018/10/18 12:55

投稿

takeke
takeke

スコア60

title CHANGED
File without changes
body CHANGED
@@ -13,14 +13,15 @@
13
13
 
14
14
  ひとまず今現在のエラーです。
15
15
  ```
16
- 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 '$last_s_id' at line 1 in C:\xampp\htdocs\scd\php\top.php:25 Stack trace: #0 C:\xampp\htdocs\scd\php\top.php(25): PDOStatement->execute(Array) #1 {main} thrown in C:\xampp\htdocs\scd\php\top.php on line 25
16
+ 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
17
17
  ```
18
18
  ```php
19
19
  $pdo = db_connect();
20
20
  $stmt = $pdo->prepare('INSERT INTO schedule(start_date,end_date,start_time,end_time,plan_category,plan_title,plan_detail,place,pab_flag) VALUES (?,?,?,?,?,?,?,?,?)');
21
+ $stmt->execute([$start_date, $end_date, $start_time, $end_time, $plan_category, $plan_title, $plan_detail, $place, $pab_flag]);
21
22
  $last_s_id = 'SELECT LAST_INSERT_ID()';
22
23
  $stmt = $pdo->prepare('INSERT INTO user_schedule(schedule_id) VALUES $last_s_id');
23
- $stmt->execute([$start_date, $end_date, $start_time, $end_time, $plan_category, $plan_title, $plan_detail, $place, $pab_flag]); //25行目
24
+ $stmt->excute();
24
25
 
25
26
  ```
26
27
 

2

補足

2018/10/18 12:55

投稿

takeke
takeke

スコア60

title CHANGED
File without changes
body CHANGED
@@ -11,4 +11,18 @@
11
11
 
12
12
  やってみたことは、insertして、excuteしてからまたinsertみたいなことや、最初のinsertの時にjoinでuser_schedule,scheduleを結合くらいはしましたがやはりうまくいきませんでした。
13
13
 
14
+ ひとまず今現在のエラーです。
15
+ ```
16
+ 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 '$last_s_id' at line 1 in C:\xampp\htdocs\scd\php\top.php:25 Stack trace: #0 C:\xampp\htdocs\scd\php\top.php(25): PDOStatement->execute(Array) #1 {main} thrown in C:\xampp\htdocs\scd\php\top.php on line 25
17
+ ```
18
+ ```php
19
+ $pdo = db_connect();
20
+ $stmt = $pdo->prepare('INSERT INTO schedule(start_date,end_date,start_time,end_time,plan_category,plan_title,plan_detail,place,pab_flag) VALUES (?,?,?,?,?,?,?,?,?)');
21
+ $last_s_id = 'SELECT LAST_INSERT_ID()';
22
+ $stmt = $pdo->prepare('INSERT INTO user_schedule(schedule_id) VALUES $last_s_id');
23
+ $stmt->execute([$start_date, $end_date, $start_time, $end_time, $plan_category, $plan_title, $plan_detail, $place, $pab_flag]); //25行目
24
+
25
+ ```
26
+
27
+
14
28
  アドバイス等よろしくお願いいたします。

1

補足

2018/10/18 12:28

投稿

takeke
takeke

スコア60

title CHANGED
File without changes
body CHANGED
@@ -5,6 +5,10 @@
5
5
 
6
6
  schedule_idというのは自動付番なので、一度scheduleが登録されないと存在しないので、中間テーブルであるuser_scheduleにはどうやって登録したらいいものかと、、、
7
7
 
8
+ 登録の流れは、userが複数いて、scheduleを登録する際に、scheduleテーブルの項目と、そのスケジュールに参加するuserも一緒に登録する流れです。
9
+
10
+ scheduleテーブルにはカラムとしてuser関連のものは持っていないので、user_scheduleテーブルが1つのschedule_idと1つOR複数のuser_idを持ちます。
11
+
8
12
  やってみたことは、insertして、excuteしてからまたinsertみたいなことや、最初のinsertの時にjoinでuser_schedule,scheduleを結合くらいはしましたがやはりうまくいきませんでした。
9
13
 
10
14
  アドバイス等よろしくお願いいたします。