2016-07-20 13 views
2

私はワードプレスデータベースにカスタムテーブルを作成しました。カスタムプラグインから行を挿入していますが、この表から選択できません。必ず何も返しません。私は私が正常に結果取っていpostsから選択しようとした場合、私は何も

<?php  
    global $wpdb; 
    if(isset($_POST['search_product'])) 
    { 
    $mytestproducts = $wpdb->get_results(
    " 
    SELECT id, ProductName 
    FROM $wpdb->wp_SimParts 

    " 
    ); 
     ?> 
    <?php 
    foreach($mytestproducts as $mytestproduct) 
    { 
    ?>   
     <tr> 
    <?php 
     echo"<td>".$mytestproduct->ProductName."</td>"; 
     echo "<td>".$mytestproduct->id."</td>"; 
     ?> 
     </tr> 
     <?php 
    } 
    } 
    ?> 

を取っていないのです。この表から選択しようとすると正常に動作している 挿入が

<?php 
    global $wpdb; 
    $wpdb->insert( 
'wp_SimParts', 
array( 
    'ProductName' => 'testname', 
    'ProductPrice' => 123, 
      'ProductDescription' => 'testdescription', 
    'ProductImage' => 'testimage', 
    'CategoryID' => 3 
    ), 
array( 
    '%s', 
    '%f', 
    '%s', 
    '%s', 
    '%d' 
    ) 
); 

    ?> 

です。

+0

は、連結のphp $ mytestproducts = $ wpdb-> get_results( "SELECT ID、商品名FROM" $ wpdb-> wp_SimParts)で一度試してみてください。 – Deep

+0

まだ結果が得られません。私はグローバルな$ wpdbを宣言していることが問題になる可能性はありますか?二度?挿入物のものと選択の次のもの。 – user2340890

答えて

1

オブジェクト変数$ wpdb-> wp_SimParts$ wpdbのために設定されていません。テーブル名です。

これにクエリを変更し

$mytestproducts = $wpdb->get_results(
    "SELECT id, ProductName 
    FROM wp_SimParts" 
); 
+0

はい、私の問題を修正したことは間違いありません、ありがとうございます。あなたの答えを正しい答えと記します。私の嘘は何だったのか教えてください。 – user2340890

+0

私は私の答えの最初の文でそれを書いた。定義されていないオブジェクト変数である$ wpdb-> wp_SimPartsを使用しました。 [これらの変数](https://codex.wordpress.org/Class_Reference/wpdb)(「テーブル」見出しの下にあるもの)のみを使用できます。それ以外の場合は、テーブル名を指定する必要があります。あなたの場合、それは 'wp_SimParts'または '{$ wpdb-> prefix} SimParts' –

関連する問題