質問編集履歴

4

コード部分を「'''''''''''''''''」で囲みました

2016/10/11 10:51

投稿

ShintaroObi
ShintaroObi

スコア10

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  該当のソースコード
14
14
 
15
- --------------------------------------------------------------------------------
15
+ ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
16
16
 
17
17
  $pdo = db();
18
18
 
@@ -144,7 +144,7 @@
144
144
 
145
145
  }
146
146
 
147
- -------------------------------------------------------------------------------
147
+ ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
148
148
 
149
149
 
150
150
 

3

コード部分を「---」で挟みました

2016/10/11 10:51

投稿

ShintaroObi
ShintaroObi

スコア10

test CHANGED
File without changes
test CHANGED
@@ -11,6 +11,8 @@
11
11
 
12
12
 
13
13
  該当のソースコード
14
+
15
+ --------------------------------------------------------------------------------
14
16
 
15
17
  $pdo = db();
16
18
 
@@ -142,7 +144,7 @@
142
144
 
143
145
  }
144
146
 
145
-
147
+ -------------------------------------------------------------------------------
146
148
 
147
149
 
148
150
 

2

\$pdo->setAttribute\(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION\); を加えました。

2016/10/11 08:41

投稿

ShintaroObi
ShintaroObi

スコア10

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,35 @@
12
12
 
13
13
  該当のソースコード
14
14
 
15
+ $pdo = db();
16
+
17
+ $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
18
+
19
+ $stmt = $pdo->prepare("SELECT * FROM user_table WHERE fb_id = :fb_id AND life_flg = :flg");
20
+
21
+ $stmt->bindValue(':fb_id', $fb_id);
22
+
23
+ $stmt->bindValue(':flg', '1');
24
+
25
+ $res = $stmt->execute();
26
+
27
+ //SQL実行時にエラーがある場合
28
+
29
+ if($res==false){
30
+
31
+ $error = $stmt->errorInfo();
32
+
33
+ exit("QueryError:".$error[2]);
34
+
35
+ }else{
36
+
37
+
38
+
39
+ $val = $stmt->fetch();
40
+
15
- if( $val["id"] != "" ){
41
+ if( $val["id"] != "" ){
42
+
43
+
16
44
 
17
45
  loginSessionSet($val);
18
46
 
@@ -24,9 +52,19 @@
24
52
 
25
53
  $status = $stmt->execute();
26
54
 
55
+ if($status==false){
56
+
57
+ $error = $stmt->errorInfo();
58
+
59
+ exit("QueryError:".$error[2]);
60
+
61
+ }else{
62
+
63
+
64
+
27
65
  $stmt = $pdo->prepare("UPDATE `user_table` SET `name`= :name, `lid`= :email, `age`= :age, `lat`= :lat, `lng`= :lng, `date`= sysdate() WHERE id =:id ");
28
66
 
29
- $stmt->bindValue(':id', $id);
67
+ $stmt->bindValue(':id', $id);
30
68
 
31
69
  $stmt->bindValue(':name',$name);
32
70
 
@@ -48,50 +86,64 @@
48
86
 
49
87
  }else{
50
88
 
51
- header("Location: ../serch.php");
89
+ header("Location: ../serch.php");
52
90
 
53
91
  };
54
92
 
93
+ };
94
+
95
+
96
+
55
97
  }else{
56
98
 
57
- loginSessionSet($val);
99
+
58
100
 
59
- $stmt = $pdo->prepare("INSERT INTO user_table(name, lid, fb_id, kanri_flg, life_flg, open, cropimg, age, sex, target_sex, lat, lng, date, distance_limit)VALUES(:name, :lid, :fb_id,0, 1, 1, :cropimg, :age, :sex, :target_sex, :lat, :lng, sysdate(), 40)");
101
+ loginSessionSet($val);
60
102
 
61
- $stmt->bindValue(':name',$name);
103
+ $stmt = $pdo->prepare("INSERT INTO user_table(name, lid, fb_id, kanri_flg, life_flg, open, cropimg, age, sex, target_sex, lat, lng, date, distance_limit)VALUES(:name, :lid, :fb_id,0, 1, 1, :cropimg, :age, :sex, :target_sex, :lat, :lng, sysdate(), 40)");
62
104
 
63
- $stmt->bindValue(':lid',$email);
105
+ $stmt->bindValue(':name',$name);
64
106
 
65
- $stmt->bindValue(':fb_id',$fb_id);
107
+ $stmt->bindValue(':lid',$email);
66
108
 
67
- $stmt->bindValue(':cropimg','pic/ningen.jpg');
109
+ $stmt->bindValue(':fb_id',$fb_id);
68
110
 
69
- $stmt->bindValue(':age',$age);
111
+ $stmt->bindValue(':cropimg','pic/ningen.jpg');
70
112
 
71
- $stmt->bindValue(':sex',$sex);
113
+ $stmt->bindValue(':age',$age);
72
114
 
73
- $stmt->bindValue(':target_sex',$target_sex);
115
+ $stmt->bindValue(':sex',$sex);
74
116
 
75
- $stmt->bindValue(':lat',$lat);
117
+ $stmt->bindValue(':target_sex',$target_sex);
76
118
 
77
- $stmt->bindValue(':lng',$lng);
119
+ $stmt->bindValue(':lat',$lat);
78
120
 
79
- $status = $stmt->execute();
121
+ $stmt->bindValue(':lng',$lng);
80
122
 
81
- if($status==false){
123
+ $status = $stmt->execute();
82
124
 
83
- $error = $stmt->errorInfo();
125
+ if($status==false){
84
126
 
85
- exit("QueryError:".$error[2]);
127
+ $error = $stmt->errorInfo();
86
128
 
87
- }else{
129
+ exit("QueryError:".$error[2]);
88
130
 
89
- header("Location: ../serch.php");
131
+ }else{
90
132
 
133
+ header("Location: ../serch.php");
134
+
91
- };
135
+ };
92
136
 
93
137
  };
94
138
 
95
139
 
96
140
 
141
+
142
+
143
+ }
144
+
145
+
146
+
147
+
148
+
97
149
  長時間悩まされています。どなたか助けてくれる方いらっしゃいますでしょうか?

1

icchiiさんへ。\$statusの確認を今してみます。

2016/10/11 04:36

投稿

ShintaroObi
ShintaroObi

スコア10

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,6 @@
1
1
  現在、mysqlを使ったアプリを作っているのですが、insertをしようとするとSQLエラーが出てしまいます。(言語はphpを使ってます)しかし、データベースを見るとちゃんとインサートは実行されているのです。
2
+
3
+ また、アップデートのほうはエラーが出ずにちゃんとページ移動してくれます。(「$val["id]!=""」のとき)
2
4
 
3
5
 
4
6
 
@@ -10,29 +12,85 @@
10
12
 
11
13
  該当のソースコード
12
14
 
13
- $stmt = $pdo->prepare("INSERT INTO user_table(name, lid, fb_id, kanri_flg, life_flg, open, cropimg, age, sex, target_sex, lat, lng, date, distance_limit)VALUES(:name, :lid, :fb_id,0, 1, 1, :cropimg, :age, :sex, :target_sex, :lat, :lng, sysdate(), 40)");
15
+ if( $val["id"] != "" ){
16
+
17
+ loginSessionSet($val);
18
+
19
+ $id = $val["id"];
20
+
21
+ $stmt = $pdo->prepare("INSERT INTO login_time(id, date)VALUES(:id, sysdate())");
22
+
23
+ $stmt->bindValue(':id', $id);
24
+
25
+ $status = $stmt->execute();
26
+
27
+ $stmt = $pdo->prepare("UPDATE `user_table` SET `name`= :name, `lid`= :email, `age`= :age, `lat`= :lat, `lng`= :lng, `date`= sysdate() WHERE id =:id ");
28
+
29
+ $stmt->bindValue(':id', $id);
14
30
 
15
31
  $stmt->bindValue(':name',$name);
16
32
 
17
- $stmt->bindValue(':lid',$email);
33
+ $stmt->bindValue(':email', $email);
18
34
 
19
- $stmt->bindValue(':fb_id',$fb_id);
35
+ $stmt->bindValue(':lat', $lat);
20
36
 
21
- $stmt->bindValue(':cropimg','pic/ningen.jpg');
37
+ $stmt->bindValue(':lng', $lng);
22
38
 
23
- $stmt->bindValue(':age',$age);
39
+ $stmt->bindValue(':age', $age);
24
40
 
25
- $stmt->bindValue(':sex',$sex);
41
+ $status = $stmt->execute();
26
42
 
27
- $stmt->bindValue(':target_sex',$target_sex);
43
+ if($status==false){
28
44
 
29
- $stmt->bindValue(':lat',$lat);
45
+ $error = $stmt->errorInfo();
30
46
 
31
- $stmt->bindValue(':lng',$lng);
47
+ exit("QueryError:".$error[2]);
32
48
 
33
- $status = $stmt->execute();
49
+ }else{
34
50
 
51
+ header("Location: ../serch.php");
35
52
 
53
+ };
54
+
55
+ }else{
56
+
57
+ loginSessionSet($val);
58
+
59
+ $stmt = $pdo->prepare("INSERT INTO user_table(name, lid, fb_id, kanri_flg, life_flg, open, cropimg, age, sex, target_sex, lat, lng, date, distance_limit)VALUES(:name, :lid, :fb_id,0, 1, 1, :cropimg, :age, :sex, :target_sex, :lat, :lng, sysdate(), 40)");
60
+
61
+ $stmt->bindValue(':name',$name);
62
+
63
+ $stmt->bindValue(':lid',$email);
64
+
65
+ $stmt->bindValue(':fb_id',$fb_id);
66
+
67
+ $stmt->bindValue(':cropimg','pic/ningen.jpg');
68
+
69
+ $stmt->bindValue(':age',$age);
70
+
71
+ $stmt->bindValue(':sex',$sex);
72
+
73
+ $stmt->bindValue(':target_sex',$target_sex);
74
+
75
+ $stmt->bindValue(':lat',$lat);
76
+
77
+ $stmt->bindValue(':lng',$lng);
78
+
79
+ $status = $stmt->execute();
80
+
81
+ if($status==false){
82
+
83
+ $error = $stmt->errorInfo();
84
+
85
+ exit("QueryError:".$error[2]);
86
+
87
+ }else{
88
+
89
+ header("Location: ../serch.php");
90
+
91
+ };
92
+
93
+ };
36
94
 
37
95
 
38
96