如何从函数中检索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函数中执行查询时,它可以很好地工作。
发布于 2011-09-21 05:51:35
不返回查询的结果资源,而是返回从该资源提取的数据:
$data = array();
while ( $row = mysql_fetch_assoc($result) ) {
$data[] = $row;
}
return $data;发布于 2011-09-21 05:58:04
绝对行得通。
做一个var_dump($r)以确保你得到的是一个资源。如果没有,请仔细检查您的SQL。其中可能存在错误。
还要在脚本顶部打开其他错误报告(以及检查mysql_error),以获得有关错误原因的更好线索:
ini_set('display_errors', true);
error_reporting(E_ALL);您已经编辑了大部分代码,因此很难进一步研究。只需确保您的方法没有关闭连接。
https://stackoverflow.com/questions/7492192
复制相似问题