我想做一个简单的函数,我可以调用它来查询我的数据库。我将查询的“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
循环而不是foreach
。Read more here.初始化
listingdata
数组,这样当没有返回行时,仍然会得到空数组而不是空数组。