PHP&SQL:子查询不工作
我有以下带有子查询的查询,这是php代码:PHP&SQL:子查询不工作,php,mysql,subquery,Php,Mysql,Subquery,我有以下带有子查询的查询,这是php代码: $staticsQuery = "SELECT * FROM statics WHERE mmsi = (SELECT mmsi FROM positions,active WHERE active.mmsi = positions.position_ID)"; $staticsResult = mysql_query($staticsQuery); while($rows = mysql_fetch_array($staticsRes
$staticsQuery = "SELECT * FROM statics WHERE mmsi = (SELECT mmsi FROM positions,active WHERE active.mmsi = positions.position_ID)";
$staticsResult = mysql_query($staticsQuery);
while($rows = mysql_fetch_array($staticsResult)){
echo $rows['time'];
echo $rows['mmsi'];
echo $rows['name'];
echo $rows['imo'];
}
子查询部分正常工作,打印结果。我不确定此外部查询部分是否正确:
从mmsi所在的statics中选择*=
这就是我的错误
警告:mysql_fetch_数组期望参数1是resource,布尔值在第44行的C:\xampp\htdocs\retrieve.php中给出
错误显然来自mysql\u fetch\u数组,因为查询不返回结果。请不要将此问题标记为重复问题,因为此错误消息可能存在许多不同类型的问题
欢迎任何帮助 如果您将有多个结果,您需要在not=中以两种方式重写它 1修复要在中使用的子查询 选择*从静态,其中mmsi在选择mmsi从位置,活动,其中活动。mmsi=位置。位置\u ID 2使用联接而不是子查询 从statics中选择s.* s.mmsi=p.mssi上的内部连接位置p
p.position\u ID=a.mmsi上的内部连接活动a在何处尝试mmsiINsubquery@Khalid这要归功于你,因为它不会有多个结果,所以我认为=运算符很好。请尝试详细说明,并解释为什么你的解决方案很好,我的解决方案到目前为止还不起作用。=运算符也不起作用,但是如果Khalid说如果你有多个结果,你必须使用'IN'而不是'=',那么我认为'='是正确的。我尝试了'IN'而不是'=',但那不起作用。对于连接,同样也不起作用。谢谢你