質問編集履歴

6

修正

2021/09/04 05:57

投稿

kou___chan
kou___chan

スコア27

test CHANGED
File without changes
test CHANGED
@@ -258,7 +258,7 @@
258
258
 
259
259
  ---
260
260
 
261
- 追記:phpは7、mysqlは5.5、model.phpにて$result===falseについては他のブックでも使っており特に問題ありません
261
+ 追記:phpは7、mysqlは5.5、model.phpにてSQL処理後のチェック$result===falseについては他のブックでも使っており特に問題ありません
262
262
 
263
263
 
264
264
 
@@ -294,7 +294,11 @@
294
294
 
295
295
  ②$msgにも…に登録しました!!というメッセージが入ることは良いのですが、Array([0])=>という余計なデータが入ってしまう
296
296
 
297
+ ③$msgも$err_msgどちらも配列となります。またSQL実行する際に初期化しておりますが、
298
+
297
- これらの余計なデータがどこで入るのかわからない。
299
+ これらの変数に余計なデータがいったいどこで入るのかわからない状況です
300
+
301
+ ④var_dumpにて初期化した時点ですでに入っている様に思います。
298
302
 
299
303
  ※SQLのinsertとupdate文についてはphpmyadminなどで実行すると問題無く追加されます…
300
304
 

5

修正

2021/09/04 05:57

投稿

kou___chan
kou___chan

スコア27

test CHANGED
File without changes
test CHANGED
@@ -54,6 +54,60 @@
54
54
 
55
55
  modelphpで
56
56
 
57
+ //重複データチェック
58
+
59
+ function check_contract_date($link, $id, $name, $err_msg) {
60
+
61
+ $flg = FALSE;
62
+
63
+ $data[] = "";
64
+
65
+ $count_rows = "";
66
+
67
+
68
+
69
+ $sql = "SELECT * FROM contract_date WHERE id = '$id' AND name = '$name'";
70
+
71
+
72
+
73
+ $result = mysqli_query($link, $sql);
74
+
75
+
76
+
77
+ if ($result === false) {
78
+
79
+ $err_msg[] = 'SQLに失敗しました!';
80
+
81
+ } else {
82
+
83
+ $count_rows = mysqli_num_rows($result);
84
+
85
+ while ($row = mysqli_fetch_assoc($result)) {
86
+
87
+ $data[] = $row;
88
+
89
+ }
90
+
91
+
92
+
93
+ if ($count_rows > 0) {
94
+
95
+ $flg = TRUE;
96
+
97
+ } else {
98
+
99
+ $flg = FALSE;
100
+
101
+ }
102
+
103
+ }
104
+
105
+ return array($flg, $err_msg);
106
+
107
+ }
108
+
109
+
110
+
57
111
  //contract_date用登録処理----------------------------------------------------------------------
58
112
 
59
113
  function insert_contract_date($link, $today, $id, $name, $mail, $fusaick, $created_date, $corporation, $department, $hire_date, $manager, $telephone, $bring1, $bring2, $bring3, $login_name, $err_msg) {

4

修正

2021/09/04 05:53

投稿

kou___chan
kou___chan

スコア27

test CHANGED
File without changes
test CHANGED
@@ -210,7 +210,7 @@
210
210
 
211
211
  ![イメージ説明](d3347f12aa310bbcffb820df12917c78.jpeg)
212
212
 
213
- 上のArray([0]=>は$msgに入り、下のArray()は$err_msgに入ってしまいます
213
+ 上のArray([0]=>は$msgに入り、下のArray()は$err_msgに入ってしまいます
214
214
 
215
215
  ---
216
216
 

3

修正

2021/09/04 05:46

投稿

kou___chan
kou___chan

スコア27

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,6 @@
1
+ ```ここに言語を入力
2
+
1
- ```メインphpで
3
+ メインphpで
2
4
 
3
5
  // 更新系の処理を行う前にトランザクション開始(オートコミットをオフ)
4
6
 
@@ -48,7 +50,9 @@
48
50
 
49
51
  }
50
52
 
53
+
54
+
51
- ```modelphpで
55
+ modelphpで
52
56
 
53
57
  //contract_date用登録処理----------------------------------------------------------------------
54
58
 
@@ -170,7 +174,9 @@
170
174
 
171
175
 
172
176
 
177
+
178
+
173
- ```上記を実行するとメインの最終トランザクション確定部分で$err_msgにArray()…みたいなのが必ず入ってしまう
179
+ 上記を実行するとメインの最終トランザクション確定部分で$err_msgにArray()…みたいなのが必ず入ってしまう
174
180
 
175
181
  ちなみに$msgにもArray()が入ってしまいます。
176
182
 
@@ -194,7 +200,9 @@
194
200
 
195
201
 
196
202
 
197
-
203
+ ```
204
+
205
+ ---
198
206
 
199
207
  追記:phpは7、mysqlは5.5、model.phpにて$result===falseについては他のブックでも使っており特に問題ありません
200
208
 
@@ -204,7 +212,7 @@
204
212
 
205
213
  上のArray([0]=>は$msgに入いり、下のArray()は$err_msgに入ってしまいます
206
214
 
207
-
215
+ ---
208
216
 
209
217
  追記2:返信まことにありがとうございます。
210
218
 

2

追記2

2021/09/04 05:37

投稿

kou___chan
kou___chan

スコア27

test CHANGED
File without changes
test CHANGED
@@ -203,3 +203,37 @@
203
203
  ![イメージ説明](d3347f12aa310bbcffb820df12917c78.jpeg)
204
204
 
205
205
  上のArray([0]=>は$msgに入いり、下のArray()は$err_msgに入ってしまいます
206
+
207
+
208
+
209
+ 追記2:返信まことにありがとうございます。
210
+
211
+ 分かりにくい記載になり大変申し訳ありません。
212
+
213
+
214
+
215
+ やりたい事:
216
+
217
+ ①DBに同ID同氏名のキーを使い重複があるかチェックをします
218
+
219
+ ②重複データがある場合、update処理、ない場合insert処理をおこないたい
220
+
221
+ ③その際、model.phpにてSQLの処理をおこないエラーが無く実行されれば$msgへ完了メッセージ代入
222
+
223
+ ④メイン.phpにもどりSQL処理にてエラーが無い($err_msgが空)の場合、トランザクション確定
224
+
225
+ ⑤最後に完了処理のためview.phpに戻り$msgのメッセージを表示して完了を予定しております
226
+
227
+
228
+
229
+ 問題:
230
+
231
+ ①$err_msgにArray()というデータが入ってしまうため、トランザクションが実行されない
232
+
233
+ ②$msgにも…に登録しました!!というメッセージが入ることは良いのですが、Array([0])=>という余計なデータが入ってしまう
234
+
235
+ ③これらの余計なデータがどこで入るのかわからない。
236
+
237
+ ※SQLのinsertとupdate文についてはphpmyadminなどで実行すると問題無く追加されます…
238
+
239
+ 宜しくお願いいたします

1

追記

2021/09/04 05:16

投稿

kou___chan
kou___chan

スコア27

test CHANGED
File without changes
test CHANGED
@@ -191,3 +191,15 @@
191
191
  mysqli_rollback($link);
192
192
 
193
193
  }
194
+
195
+
196
+
197
+
198
+
199
+ 追記:phpは7、mysqlは5.5、model.phpにて$result===falseについては他のブックでも使っており特に問題ありません
200
+
201
+
202
+
203
+ ![イメージ説明](d3347f12aa310bbcffb820df12917c78.jpeg)
204
+
205
+ 上のArray([0]=>は$msgに入いり、下のArray()は$err_msgに入ってしまいます