2011-05-18 46 views
0

我正在製作自己的CMS。我有一些選擇數據庫行代碼到網頁上呼應出像這樣:使用函數來簡化CMS主題

$query = mysql_query("SELECT * FROM posts order by id desc") or die(mysql_error()); 

但是每當我試圖把這個函數裏面並調用該函數,而不是使用長的代碼行,什麼都不會發生。我是否錯過了PHP函數?

function posts() { 
    mysql_query("SELECT * FROM posts order by id desc") or die(mysql_error()); ` 
} 
while($row = mysql_fetch_array(posts())) { 
    $id = $row['id']; 
    echo $id; 
} 
+1

你能證明你的函數代碼? – Trott 2011-05-18 03:25:05

+0

只是將代碼添加到我的問題 – codedude 2011-05-18 03:34:58

回答

2

您需要返回結果:

function posts() { 
    return mysql_query("SELECT * FROM posts order by id desc") or die(mysql_error()); ` 
} 
+0

賓果。目前,您正在執行該操作,但會浪費您所需的返回值。 – ShotgunToothpaste 2011-05-18 04:26:02

0

沒有看到你的函數代碼,它是不可能的,說是什麼問題,但如果我根據您的描述猜測,我會檢查的第一件事就是看你是(一)返回$在你的函數中查詢和(b)將返回值分配給你的調用代碼中的其他東西。

更新:所以,根據您所設置的代碼,是的,問題是(a)以上 - 您需要返回值。只需將「返回」放在函數中一行代碼的其餘部分之前,它就可以工作。