###実現したいこと
以下はphpMyAdminで作成した「dokuzi」というテーブルへの保存として書いたソースコードです。
これが保存されず特に何も起こらないのですが、どうしたら保存できるようになるか教えていただけませんでしょうか。
###該当のソースコード
php
1// 保存 2$table_name = $wpdb->prefix . 'dokuzi'; 3$yasai_arr = ['yasai_2',0]; 4$ins_values = "('". $yasai_arr[0]. "',".$yasai_arr[1] ."),"; 5$sql ="insert into ".$wpdb->prefix.$table_name. " (yasai,price) VALUES ".$ins_values.";"; 6$wpdb->query($sql);
###試したこと(テーブルの存在を確認)
まず「dokuzi」が$wpdbで使えることを確認できました。下記「結果」の最後の行で出力されているので問題ないかと存じます。
php
1// テーブル確認 2global $wpdb; 3foreach ($wpdb->tables as $key => $value) { 4 echo '<p>[' . $key . ']' . $value . '</p>'; 5}
↓「結果」
html
1<p>[0]posts</p> 2<p>[1]comments</p> 3<p>[2]links</p> 4<p>[3]options</p> 5<p>[4]postmeta</p> 6<p>[5]terms</p> 7<p>[6]term_taxonomy</p> 8<p>[7]term_relationships</p> 9<p>[8]termmeta</p> 10<p>[9]commentmeta</p> 11<p>[10]dokuzi</p>
###試したこと(取得の確認)
そして保存はできないなら取得はどうかと思い下記実行すると、これも「結果」にあるように取得できました。
php
1// 取得 2$product_name = 'yasai_1'; 3$sql = $wpdb->prepare("SELECT p.yasai, p.price FROM $wpdb->dokuzi p WHERE p.yasai LIKE %s", '%'.$product_name.'%' ); 4# -> "SELECT p.yasai, p.price FROM wp_products p WHERE p.yasai LIKE '%検索キーワード%'" 5$rows = $wpdb->get_results($sql); 6if($rows){ 7 foreach ($rows as $row) { 8 echo "<p>【".$row->yasai."】価格:".$row->price."円</p>"; 9 } 10}
↓「結果」
html
1<p>【yasai_1】価格:0円</p>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/22 08:52
2020/01/22 09:02
2020/01/22 09:11
2020/01/22 10:01
2020/01/22 10:08
2020/01/22 10:12
2020/01/22 10:44
2020/01/22 11:05
2020/01/22 11:10