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

質問編集履歴

2

追記しました

2020/01/23 08:39

投稿

marusankakun
marusankakun

スコア16

title CHANGED
File without changes
body CHANGED
@@ -76,6 +76,7 @@
76
76
  $data_vals = rtrim(implode(",",$data));
77
77
  $formats = rtrim(implode(",",$format));
78
78
  $sql = $wpdb->prepare("INSERT INTO $wpdb->yasai_table ( $data_keys ) values ( $formats )", $data_vals);
79
+ var_dump($sql); // 【 ← 追記その1 】
79
80
  $wpdb->query($sql);
80
81
 
81
82
  }elseif ( $type == 'update' ) {
@@ -155,6 +156,7 @@
155
156
  function my_update_yasai_test( $yasai_name, $yasai_count, $yasai_data ) {
156
157
  global $wpdb;
157
158
  $sql = $wpdb->prepare("INSERT INTO $wpdb->yasai_table (yasai_name, yasai_count, yasai_data) values (%s, %d, %s)", $yasai_name, $yasai_count, $yasai_data);
159
+ var_dump($sql); // 【 ← 追記その2 】
158
160
  $wpdb->query($sql);
159
161
  }
160
162
  my_update_yasai_test( '野菜Z', 77, '野菜Zはかなりレア' );
@@ -165,4 +167,22 @@
165
167
  しかし、`my_update_yasai()`でできず、その変数部分を直接書いた`my_update_yasai_test()`でできて、かといって`my_update_yasai()`の変数を`var_dump`すると`my_update_yasai_test()`に直接書いた値と同じですから、これ以上なにをすればいいのかと行き詰ってしまいました。
166
168
 
167
169
  アドバイス頂けましたら幸いです。
168
- 宜しくお願い致します。
170
+ 宜しくお願い致します。
171
+
172
+ ###追記
173
+ 上のそれぞれの関数で
174
+ `var_dump($sql); // 【 ← 追記その1 】`
175
+ `var_dump($sql); // 【 ← 追記その2 】`
176
+ という`var_dump`を追記しました。
177
+
178
+ その結果は以下です。
179
+
180
+ ↓うまくいってる場合の`my_update_yasai_test()`で`var_dump($sql)`
181
+ string(126) "INSERT INTO wp_yasai_table (yasai_name, yasai_count, yasa_data) values ('野菜テスト', 111, '野菜テストのデータ')"
182
+
183
+ ↓ダメな場合の`my_update_yasai()`で`var_dump($sql)`
184
+ string(0) ""
185
+ string(0) ""
186
+ string(0) ""
187
+
188
+ 後者でなぜ空になるのか…かなり戸惑っています。

1

誤字訂正

2020/01/23 08:39

投稿

marusankakun
marusankakun

スコア16

title CHANGED
File without changes
body CHANGED
@@ -162,7 +162,7 @@
162
162
  以上のことから推察するに、
163
163
  該当のソースコードの`$sql`の変数が原因ではないか?と考えています。
164
164
 
165
- しかし、`my_update_yasai()`でできず、その変数部分を直接書いた`my_update_yasai()`でできて、かといって`my_update_yasai()`の変数を`var_dump`すると`my_update_yasai()`に直接書いた値と同じですから、これ以上なにをすればいいのかと行き詰ってしまいました。
165
+ しかし、`my_update_yasai()`でできず、その変数部分を直接書いた`my_update_yasai_test()`でできて、かといって`my_update_yasai()`の変数を`var_dump`すると`my_update_yasai_test()`に直接書いた値と同じですから、これ以上なにをすればいいのかと行き詰ってしまいました。
166
166
 
167
167
  アドバイス頂けましたら幸いです。
168
168
  宜しくお願い致します。