Php 使用“时出错”;“按计数订购”;质疑
我使用以下查询来显示一些信息:Php 使用“时出错”;“按计数订购”;质疑,php,mysql,Php,Mysql,我使用以下查询来显示一些信息: $result = mysqli_query ($con,"SELECT * FROM files,members,member_group WHERE files.member_id = members.member_id AND members.member_id = member_group.member_id AND group_id='$id' ORDER BY count DESC "); 我的问题是,当我忽略了按计数顺序描述时,它工作正常,但当它存
$result = mysqli_query ($con,"SELECT * FROM files,members,member_group WHERE files.member_id = members.member_id AND members.member_id = member_group.member_id AND group_id='$id' ORDER BY count DESC ");
我的问题是,当我忽略了按计数顺序描述时,它工作正常,但当它存在时,我得到以下错误:
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /proj/co600/project/repo/public_html/select_field3.php on line 227
Count是我的数据库中的一列,记录出版物的下载次数。
Count
是一个聚合函数,因此需要在它周围加上反勾号
以清楚地了解您的错误。。您需要更改代码,如..
$result = mysqli_query ($con,"SELECT * FROM files,members,member_group WHERE files.member_id = members.member_id AND members.member_id = member_group.member_id AND group_id='$id' ORDER BY count DESC ");
if(!$result)
{
die(mysqli_error($con));
}
您将MySQL保留关键字作为表中的列名 使用以下查询:
$result = mysqli_query ($con,"SELECT * FROM files,members,member_group WHERE files.member_id = members.member_id AND members.member_id = member_group.member_id AND group_id='$id' ORDER BY `count` DESC ");
包括更多代码。您的错误消息引用了mysqli\u fetch\u array(),此处未显示。您应该使用
mysqli\u query(..)或die(mysqli\u error())
来获取正确的错误消息不要回避它们您在查询的多个表中是否有count
列?我猜,没有看到更多代码,在多个表中有一个count
列,因此order by
子句中的引用不明确。@BrianDriscoll这就是问题所在,我有两个count冒号!谢谢你们的帮助我真的很感激it@CodingAnt,我也不明白:(@ShankarDamodarancount
不是一个保留关键字,说得很清楚,count作为列名是可以接受的,而且在关键字列表中没有提到count。顺便说一下,我不确定这是否真的是问题,请看。事实上,count不是一个保留关键字(很抱歉,这是一个内置函数)。并且可以用作列名…@ShankarDamodaran编辑的意思是完整的,我想用户应该对使用列及其表别名感兴趣。这将克服在多个表中具有相同列名的问题,尽管edit的值为+1,请在回答之前先使用