我想做一个简单的函数,我可以调用它来查询我的数据库。我将查询的“where”部分传递给它,在下面的代码中,$q变量是正确的。但是,我应该怎么做才能使用这些数据?我对如何做一件事感到困惑,我确信这件事非常容易。非常感谢您的帮助!

function getListings($where_clause)
{
 $q = "SELECT * FROM `listings` $where_clause";
 $result = mysql_query($q,$dbh);
 foreach (mysql_fetch_array($result) as $row) {
  $listingdata[] = $row;
 }
 return $listingdata;
}

最佳答案

你的功能应该是这样的:

function getListings($where_clause, $dbh)
{
    $q = "SELECT * FROM `listings` $where_clause";

    $result = mysql_query($q, $dbh);

    $listingdata = array();
    while($row = mysql_fetch_array($result))
        $listingdata[] = $row;

    return $listingdata;
}

功能改进:
在函数参数中添加MySQL link$dbh。Passit,否则查询将不起作用。
使用while循环而不是foreachRead more here.
初始化listingdata数组,这样当没有返回行时,仍然会得到空数组而不是空数组。

07-22 18:08