我有这个功能:
public function get_all_sites($niche){
$query="SELECT *
FROM sites AS site
INNER JOIN niche AS n ON n.niche_id=site.niche_id
INNER JOIN review AS r ON r.site_id=site.site_id
WHERE n.niche_id=".$niche;
$results=mysql_query($query) or die(mysql_error());
while($rows[] = mysql_fetch_assoc($results));
return $rows;
}
我想做的是一次性将所有行转换为关联数组并返回它。由于返回了许多值,我不想使用任何推送函数或编写这样的代码 $new_array['id']=$row['id'];。代码越短越好。
好的,连接错误消失了。如何在不从循环内部获取结果的情况下将所有行作为数组输出mysql_fetch_assoc
错误:
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result,
resource given in C:'Program Files (x86)'Zend'Apache2'htdocs'bestMatch
'sandbox'models'SitesDB.php on line 19
意味着您的 SQL 有问题或服务器无法执行它。我建议您将其回显出来,并确保查询可以提供结果。
在这种情况下,您似乎混合了mysql_和mysqli_函数?您是否正在建立mysqli_连接以便能够返回关联的数组?
编辑:
基于此评论"好吧,我急于完成这个网站..所以我会坚持使用 MySQL",尝试为您的函数添加连接?查看示例 1,并确保已涵盖这些步骤。