Php 如何在一个查询中完成多个查询

Php 如何在一个查询中完成多个查询,php,mysql,Php,Mysql,如何在一个查询中完成以下查询,并按照下面的方式得到结果 // Begining of January $ob = mysql_query(" SELECT SUM(salary_amount) AS total FROM teacherexpense WHERE month(disburse_date)='01' AND year(disburse_date)='$year' "); $nt = mysql_fetch_assoc($ob); $salaryamount= $nt['tot

如何在一个查询中完成以下查询,并按照下面的方式得到结果

// Begining of January

$ob = mysql_query(" SELECT SUM(salary_amount) AS total FROM teacherexpense WHERE  month(disburse_date)='01' AND  year(disburse_date)='$year' ");
$nt = mysql_fetch_assoc($ob);
$salaryamount= $nt['total'];


$ob = mysql_query(" SELECT SUM(other_expense_amount) AS expenseamount FROM otherexpense WHERE month(other_expense_date)='01' AND year(other_expense_date)='$year'  ");
$nt = mysql_fetch_assoc($ob);
$expenseamount= $nt['expenseamount'];

$jk = mysql_query(" SELECT SUM(amountpaid) AS revenue FROM studentpayment1 WHERE month(received_date)='01' AND year(received_date)='$year' ");
$t = mysql_fetch_assoc($jk);
$revenue= $t['revenue'];

$ob = mysql_query(" SELECT SUM(other_earning_amount) AS otherearningamount FROM otherearning WHERE month(other_earning_date)='01' AND year(other_earning_date)='$year' ");
$nt = mysql_fetch_assoc($ob);
$otherearningamount= $nt['otherearningamount'];


$January= ($revenue+$otherearningamount)-($salaryamount+$expenseamount);
// End of January

把它塞进存储过程?
PHP的数据库驱动程序不允许您运行多个查询;出于安全原因。

您可以使用-但您必须迭代结果集,因为在这种情况下,您将获得4条记录,而不是一条/statement-group

您尝试过mysqli驱动程序而不是mysql吗

看看:

执行一个或多个由分号连接的查询


您可以使用
UNION
,每一行将代表不同的查询。
SELECT 'withdrawals' t, SUM( amount ) sum
FROM withdrawals
UNION
SELECT 'statement' t, SUM( amount ) sum
FROM statement
while($row = mysql_fetch_assoc($result))
{
    $total[$row['t']] = $row['sum'];
}

echo $total['withdrawals']; # 100
echo $total['statement']; # 624.x