質問編集履歴

2

追記

2016/05/10 06:42

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -117,3 +117,51 @@
117
117
  $pdo->setAttribute( PDO::ATTR_EMULATE_PREPARES, false );
118
118
 
119
119
  を削除すれば、【SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected】の文言は出てきません。が、データベースにデータは挿入されていないようです。
120
+
121
+
122
+
123
+
124
+
125
+ さらに追記
126
+
127
+ --
128
+
129
+ prepare()の場合はこんな感じです
130
+
131
+ try {
132
+
133
+ $pdo->beginTransaction();
134
+
135
+ $sql = "INSERT INTO members (pre_userid, email) VALUES (:pre_userid, :email)";
136
+
137
+ echo "ここまでok<br><br>";
138
+
139
+ $stmh = $pdo->prepare( $sql );
140
+
141
+ echo "ここでNG<br><br>";
142
+
143
+ $stmh->bindValue( ':pre_userid', $pre_user_id, PDO::PARAM_STR );
144
+
145
+ $stmh->bindValue( ':email', $email, PDO::PARAM_STR );
146
+
147
+ $stmh->execute();
148
+
149
+ $pdo->commit();
150
+
151
+ $cnt = $stmh->rowCount();
152
+
153
+ echo $cnt . "件仮登録しました";
154
+
155
+
156
+
157
+ } catch( PDOException $e ) {
158
+
159
+ $pdo->rollBack();
160
+
161
+ echo $e->getMessage();
162
+
163
+ $error[] = "データベースに登録できませんでした";
164
+
165
+
166
+
167
+ }

1

追記

2016/05/10 06:42

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -99,3 +99,21 @@
99
99
  query()、またはprepare($sql)の部分でうまくいっていないというのはわかるのですが、なぜうまくいかないのかがわかりません。
100
100
 
101
101
  わかる方ご指摘をお願い致します。
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+ 追記
110
+
111
+ --
112
+
113
+ query()の時は
114
+
115
+ $pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
116
+
117
+ $pdo->setAttribute( PDO::ATTR_EMULATE_PREPARES, false );
118
+
119
+ を削除すれば、【SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected】の文言は出てきません。が、データベースにデータは挿入されていないようです。