2016-09-28 50 views
0

我在wordpress的theme-functions.php文件中使用此代碼,即時通訊使用此腳本,並在需要時運行echo後跟字符串來複制數據。在wordpress theme-functions.php中的PHP&MYSQL腳本來拉和回顯數據 - 已解決

當前當我使用這個我剛剛得到0結果,在$ userlogin回聲工作,所以我知道在mysql選擇過濾器是好的。

任何想法,哪裏會出錯?

function calliod() { 
    global $wpdb; 

$user = new WP_User(get_current_user_id()); 
$userlogin = $user->user_login; 
echo $userlogin; 

$iodoutput = "SELECT * FROM $wpdb->iod WHERE wp_iod.USERID ='". $userlogin. "'"; 
$result1 = $iodoutput; 

if ($result1->num_rows > 0) { 

while($row = $result1->fetch_assoc()) { 

$USERID= "" . $row["USERID"]. ""; 
$CurrentPayment= "" . $row["CurrentPayment"]. ""; 
$LastMonthPayment= "" . $row["LastMonthPayment"]. ""; 
} 
} else { 
echo "0 results"; 
} 
} 

`

更新 - 已解決:

感謝所有幫助!這裏是萬一別人的代碼相同的問題

裏面的functions.php

function calliod(){ 

global $wpdb; 
$user = new WP_User(get_current_user_id()); 
$userlogin = $user->user_login; 

foreach($wpdb->get_results("SELECT * FROM wp_iod WHERE wp_iod.USERID ='". $userlogin. "'") as $key => $row) { 

global $USERID; 
$USERID = $row->USERID; 
} 
} 

在WP頁面

<?php 
calliod(); 
echo $GLOBALS['USERID'] 
; ?> 

現在我可以從表中拉任何列提到只要我在第一個腳本中定義它。

謝謝!

+1

'$ RESULT1 = $ iodoutput;'ü需要在這裏實際上執行查詢 – devpro

+0

你在找什麼? – dinesh

+0

基本上,從這個腳本我想''echo $ CurrentPayment'在wordpress的頁面上,以便用戶可以看到他們當前的結算付款,而使用當前的wordpress數據庫連接,而不是進行第二次連接。 – user1419634

回答

2

您正在構建的查詢從未實際執行過。請參閱WPDB類的文檔,但基本上你需要一條線,這樣說:

$result1 = $wpdb->get_results("SELECT * FROM wp_iod WHERE wp_iod.USERID ='". $userlogin. "'"); 

此處瞭解詳情:https://codex.wordpress.org/Class_Reference/wpdb

+1

右對齊時將會非常有用。 – devpro

+0

我已經添加到它並仍然得到0結果...''$ iodoutput = $ wpdb-> get_results(「SELECT * FROM wp_iod WHERE wp_iod.USERID ='」。$ userlogin。「'」); $ result1 = $ iodoutput;' – user1419634

+0

我猜你的實際數據庫的表名 - 我把它作爲'wp_iod'在我的代碼中。那實際上是你需要查詢的表名嗎?並且它是否有「USERID」列? –