用php实现mysql嵌套子查询
我有两张桌子。我希望能够从下面的订单表代码中获取信用表中每个id的订单:用php实现mysql嵌套子查询,php,mysql,Php,Mysql,我有两张桌子。我希望能够从下面的订单表代码中获取信用表中每个id的订单: $downlinequery = "SELECT recid, Level, sp1 FROM credit WHERE sp1 = '$id' or sp2 = '$id' or sp3 = '$id' or sp4 = '$id' or sp5 = '$id' or sp6 = '$id' or sp7 = '$id' or sp8 = '$i
$downlinequery = "SELECT recid, Level, sp1 FROM credit
WHERE sp1 = '$id' or sp2 = '$id' or sp3 = '$id' or sp4 = '$id'
or sp5 = '$id' or sp6 = '$id' or sp7 = '$id' or sp8 = '$id'" ;
$downlineresult = mysql_query($downlinequery) ;
while ($downlinerow = mysql_fetch_array($downlineresult)) {
extract($downlinerow) ;
$orderquery = "SELECT date,cc,cop FROM order WHERE userid='1127'" ;
$orderresult = mysql_query($orderquery) or die("unable to get orders");
while($orderrow = mysql_fetch_array($orderresult)){
extract($orderrow);
echo "$date,$cc,$cop" ;
}
}
但我一直得到错误:无法获得订单
是否可以在另一台计算机运行时进行查询?针对您的实际问题:
我认为这个问题不对。第一个查询未运行。它运行并在$downlineresult(mysql\u query)中填充结果,然后,您只需迭代结果的各个部分(mysql\u fetch\u数组)
您的MySQL查询似乎有错误,所以您应该使用:
echo mysql_error();
请参见所使用方法的说明:
echo mysql_error();
请参见所使用方法的说明:
$orderquery = "SELECT date,cc,cop FROM `order` WHERE userid=1127" ;
“日期”也应该如此,尽管这是可以容忍的(详见我链接的同一页)
至于您的问题,当然您可以在循环中执行查询(尽管这在性能方面并不是最好的)。但是,如果您的表有foreing键(我猜是'recid'和'userid'),您可以构建一个连接查询,而不是错误可能会发生,因为“ORDER”是一个键。您应该使用反勾号来转义它:
$orderquery = "SELECT date,cc,cop FROM `order` WHERE userid=1127" ;
“日期”也应该如此,尽管这是可以容忍的(详见我链接的同一页)
至于您的问题,当然您可以在循环中执行查询(尽管这在性能方面并不是最好的)。但是,如果您的表有一个foreing键(我猜是'recid'和'userid'),那么您可以构建一个连接查询,而不是从中得到错误,并请指定错误。这将帮助我给你最好的答案,你是哪里得到错误,请指定错误。这将有助于我给你最好的答案好的发现,而且他应该一起改变桌子的名称。一般规则是不要对变量使用保留字。很好的发现,他也应该一起更改表的名称。一般规则是不要对变量使用保留字。