2016-05-31 51 views
0

問題:wpdb get_results打印表格列時沒有輸出

使用Wpdb嘗試從表中讀取列。我試過代碼:

<?php 
 
global $wpdb; 
 
$sqlq2 = 'SELECT fk_id FROM `wp_productssku_mapping`'; 
 
$result = $wpdb->get_results($sqlq2); 
 
foreach($result as $row) 
 
{ 
 
print_r($row->fk_id); 
 
} 
 
?>

這導致空白頁,同時擊中了

xyz.com/wp-content/themes/sometheme/name.php 

在錯誤日誌:它的空白(沒有與此相關的錯誤。)

可能的問題是什麼?

更新

enter image description here

我有以下表中的數據,我需要把它拿來一招一式中curl命令使用它。

+0

嘗試print_r($ result);在foreach循環之前 –

+0

@RaviKumar沒有變化。 –

+0

嘗試print_r($ result);出口;並在按下按鈕後查看底部 –

回答

0

wpdb class reference快速閱讀後,我得到了你的上述方案與下面的代碼段的工作:

global $wpdb;   
    $users = $wpdb->get_results('SELECT * FROM wp_users', ARRAY_A); 

    foreach ($users as $user) { 
     print_r($user); 
    } 

我相信爲什麼它不爲你工作的原因是因爲你沒有指定輸出類型,閱讀上述這些鏈接是你的選擇:

One of four pre-defined constants. Defaults to OBJECT. See SELECT a Row and its examples for more information. 
OBJECT - result will be output as a numerically indexed array of row objects. 
OBJECT_K - result will be output as an associative array of row objects, using first column's values as keys (duplicates will be discarded). 
ARRAY_A - result will be output as a numerically indexed array of associative arrays, using column names as keys. 
ARRAY_N - result will be output as a numerically indexed array of numerically indexed arrays. 

我個人更喜歡用關聯數組工作,但你想要的對象的方法,然後指定對象作爲像這樣的get_results你的第二個參數:

$users = $wpdb->get_results('SELECT * FROM wp_users', OBJECT); 

它應該很好。

完整的解決方案下面有OBJECT。只需換出變量名稱和表名。

global $wpdb;   
    $users = $wpdb->get_results('SELECT * FROM wp_users', OBJECT); 

    foreach ($users as $user) { 
     print_r($user->ID); 
    } 

我也剛剛注意到,你試圖直接執行你的PHP文件,這是一個很大的不在WordPress的。您最好創建一個像admin_post這樣的wordpress鉤子的函數回調函數。機會是你從未在wordpress實例中實際運行代碼,因此$ wpdb很可能爲空。

請仔細閱讀以下內容:https://codex.wordpress.org/Plugin_API/Action_Reference/admin_post_(action)關於如何在鉤子上回調。您可以使用admin_post來創建發佈和獲取請求。

+0

感謝您的答案,如果您可以檢查有問題的更新,獲取列數據是用於一個一個的curl命令.. –

+0

上面提供的解決方案不起作用 –

+0

你有沒有試過$ result = $ wpdb-> get_results($ sqlq2,OBJECT);然後使用echo $ row-> fk_id? – Nebri