[英]php return mysql_query
如何從函數中檢索mysql_query? 例如:
class A() {
...
function getAll($l=1) {
...
$result = mysql_query($query);
return $result
}
...
}
$a = new A();
$r = $a -> getAll(2);
while ($row = mysql_fetch_assoc($r)) {
// do something
}
當我從函數返回$ result時,上面的代碼不起作用。 但是,當我在getAll函數中使用mysql_fetch_assoc函數時,它可以完美運行。 所以基本上,我的問題是如何從函數返回mysql結果集?
**編輯**
我實際上沒有任何錯誤。 上面喜歡的while語句將不會執行。 但是,當我從getAll函數中執行查詢時,查詢效果很好。
不要從查詢中返回結果資源,而是返回從該資源中提取的數據:
$data = array();
while ( $row = mysql_fetch_assoc($result) ) {
$data[] = $row;
}
return $data;
絕對可以。
執行var_dump($r)
以確保獲得資源。 如果不是,請仔細檢查您的SQL。 可能有錯誤。
還要在腳本頂部打開其他錯誤報告(以及檢查mysql_error
),以獲得有關錯誤原因的更好線索:
ini_set('display_errors', true);
error_reporting(E_ALL);
您已經編輯了許多代碼,因此很難進行進一步調查。 只要確保您的方法沒有關閉mysql連接即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.