質問編集履歴
2
コードと出力をブロック分けして、Exceptionで出力されたメッセージを追記しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,7 +12,11 @@
|
|
12
12
|
|
13
13
|
```
|
14
14
|
|
15
|
-
|
15
|
+
try-catchしたところこのようなメッセージが出力されました。
|
16
|
+
|
17
|
+
SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute
|
18
|
+
|
19
|
+
SQL送信後のDBでの更新処理が行われていません。
|
16
20
|
|
17
21
|
$stmt_modify0と$stmt_modify1の2つで更新処理が行われませんでした。
|
18
22
|
|
@@ -28,7 +32,7 @@
|
|
28
32
|
|
29
33
|
|
30
34
|
|
31
|
-
```PHP
|
35
|
+
```PHP(ソースコード)
|
32
36
|
|
33
37
|
<?php
|
34
38
|
|
@@ -39,16 +43,6 @@
|
|
39
43
|
header("Location:./Login.php");
|
40
44
|
|
41
45
|
}
|
42
|
-
|
43
|
-
//CREATE TABLEを行う
|
44
|
-
|
45
|
-
CREATE TABLE flowsheet_local (id INT, m_id INT,no INT,char_info VARCHAR,audio VARCHAR)
|
46
|
-
|
47
|
-
//debugDumpParamsで出力されたSQL
|
48
|
-
|
49
|
-
update flowsheet_local set char_info='q' WHERE m_id='28' AND no='1';
|
50
|
-
|
51
|
-
update flowsheet_local set audio='900ab15ef05f5664647e837d9dd45c63.mp3' WHERE m_id='28' AND no='1'
|
52
46
|
|
53
47
|
// 入力フォームから文字または音声データが入力された後の処理
|
54
48
|
|
@@ -114,6 +108,20 @@
|
|
114
108
|
|
115
109
|
```
|
116
110
|
|
111
|
+
```PHP(出力)
|
112
|
+
|
113
|
+
//CREATE TABLEを行う
|
114
|
+
|
115
|
+
CREATE TABLE flowsheet_local (id INT, m_id INT,no INT,char_info VARCHAR,audio VARCHAR)
|
116
|
+
|
117
|
+
//debugDumpParamsで出力されたSQL
|
118
|
+
|
119
|
+
update flowsheet_local set char_info='q' WHERE m_id='28' AND no='1';
|
120
|
+
|
121
|
+
update flowsheet_local set audio='900ab15ef05f5664647e837d9dd45c63.mp3' WHERE m_id='28' AND no='1'
|
122
|
+
|
123
|
+
```
|
124
|
+
|
117
125
|
|
118
126
|
|
119
127
|
### 試したこと
|
1
CREATE TABLE とdebugDumpParamsで出力されたSQLを追記しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -14,9 +14,7 @@
|
|
14
14
|
|
15
15
|
エラーメッセージは出ていませんが、SQL送信後のDBでの更新処理が行われていません。
|
16
16
|
|
17
|
-
ただ、ソースコード中の$stmt_modify_minorsでは正常に更新が行われ、
|
18
|
-
|
19
|
-
$stmt_modify0と$stmt_modify1の2つで
|
17
|
+
$stmt_modify0と$stmt_modify1の2つで更新処理が行われませんでした。
|
20
18
|
|
21
19
|
汚いコードであることは重々承知していますが、
|
22
20
|
|
@@ -42,6 +40,16 @@
|
|
42
40
|
|
43
41
|
}
|
44
42
|
|
43
|
+
//CREATE TABLEを行う
|
44
|
+
|
45
|
+
CREATE TABLE flowsheet_local (id INT, m_id INT,no INT,char_info VARCHAR,audio VARCHAR)
|
46
|
+
|
47
|
+
//debugDumpParamsで出力されたSQL
|
48
|
+
|
49
|
+
update flowsheet_local set char_info='q' WHERE m_id='28' AND no='1';
|
50
|
+
|
51
|
+
update flowsheet_local set audio='900ab15ef05f5664647e837d9dd45c63.mp3' WHERE m_id='28' AND no='1'
|
52
|
+
|
45
53
|
// 入力フォームから文字または音声データが入力された後の処理
|
46
54
|
|
47
55
|
if (isset($_POST['chars'])) :
|
@@ -52,17 +60,13 @@
|
|
52
60
|
|
53
61
|
$sql_modify1 = 'update flowsheet_local set audio=? WHERE m_id=? AND no=?';
|
54
62
|
|
55
|
-
|
63
|
+
|
56
64
|
|
57
65
|
$stmt_modify0 = $pdo->prepare($sql_modify0);
|
58
66
|
|
59
67
|
$stmt_modify1 = $pdo->prepare($sql_modify1);
|
60
68
|
|
61
|
-
$stmt_modify_minors = $pdo->prepare($sql_modify_minors);
|
62
|
-
|
63
69
|
// DBを更新するSQL
|
64
|
-
|
65
|
-
$stmt_modify_minors->execute(array($_POST['winner'], $_SESSION['m_id'], $_POST['judges'], $_SESSION['m_id'], $_POST['resolved'], $_SESSION['abst_id']));
|
66
70
|
|
67
71
|
$i = 1;
|
68
72
|
|