2012-07-06 61 views
0

我有一個mysql數據庫,它是爲使用wordpress的網站創建的,當使用wordpress發佈一些文本時,它將數據存儲在該數據庫中。當我嘗試使用一個php文件拉這個文本時,它會返回null,但是如果我刪除這個文本並且手動寫入(不需要wordpress),它會很好地處理它。有什麼具體的我需要做的,以便拉這個文本,因爲它是使用wordpress創建的?該表的結構如下,字段:post_content類型:longtext。感謝您的幫助從一個mysql數據庫中重新生成數據

代碼:

$query = "SELECT post_content FROM meiplay_posts WHERE post_type = 'portfolio'"; 
$result = mysql_query($query); 
while($row = mysql_fetch_assoc($result)) 
    $output[] = $row; 
print(json_encode($output)); 
+1

正在運行什麼查詢?你正在運行什麼PHP代碼? – 2012-07-06 01:11:19

+0

$ query =「SELECT post_content FROM meiplay_posts WHERE post_type ='portfolio'」; $ result = mysql_query($ query); while($ row = mysql_fetch_assoc($ result)) $ output [] = $ row; print(json_encode($ output)); – paul590 2012-07-06 01:12:59

+0

我試過引號('post_content'),但我得到的是「post_content」:「post_content」我沒有得到文本。此外,我添加額外的代碼爲$結果,但我沒有得到任何錯誤消息 – paul590 2012-07-06 01:23:53

回答

1

添加一些錯誤處理:

$result = mysql_query($query) or die(mysql_error()); 

這將導致打印錯誤信息,如果事情在mysql_query出錯。希望錯誤信息會有所幫助。

此外,the documentation for mysql_query says

Use of this extension is discouraged. Instead, the MySQLi or PDO_MySQL extension should be used.

所以我建議使用PHP的作者建議的庫。

另外:

$query = "SELECT post_content FROM meiplay_posts WHERE post_type = 'portfolio'"; 

是你的肯定與post_type = 'portfolio'列是否存在?嘗試做沒有WHERE部分的選擇,看看你是否有任何東西。也許它略有不同,如Portfolio而不是portfolio

+0

是啊我檢查了這一點,如果我編輯post_content字段通過手動輸入東西,它工作正常 – paul590 2012-07-06 01:31:59

+0

@ paul590如果你手動添加的東西,那麼你不是從數據庫中選擇,你只是檢索你給的數據它 – 2012-07-06 01:33:22

+0

多數民衆贊成多數民衆贊成在真實的,即時嘗試使用MYSQLi,但沒有運氣,要麼 – paul590 2012-07-06 02:05:20

1

Wordpress爲您提供了一個讓您更輕鬆地在數據庫上運行查詢的類。 參考:http://codex.wordpress.org/Class_Reference/wpdb#SELECT_a_Column

嘗試:

$result = $wpdb->get_col($wpdb->prepare("SELECT `post_content` FROM `meiplay_posts` WHERE post_type = 'portfolio'")); 

if ($result) 
{ 
    echo $result->post_content; 
    echo json_encode($result); 
}; 
+0

這是一個很好的參考,謝謝!即時通訊嘗試你上面張貼的方法,但我不斷收到此錯誤:致命錯誤:調用成員函數get_col()在非對象在/homepages/17/d280020283/htdocs/meiplay/folder/index.php在第8行 – paul590 2012-07-06 20:04:45