Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果其中一个表为空,则不会显示输出_Php_Mysql - Fatal编程技术网

Php 如果其中一个表为空,则不会显示输出

Php 如果其中一个表为空,则不会显示输出,php,mysql,Php,Mysql,我有以下疑问。如果两个表都有它们的值,那么它运行得很好,但是如果其中一个表为空,那么就没有输出 $result = mysql_query(" SELECT (SELECT SUM(s.total)-SUM(r.total) FROM rsales AS s WHERE r.pcode=s.pcode ) AS total, (SELECT SUM(s.qty)-SUM(r.qty) FROM rsales AS s WHERE r.pcode=s.pcode

我有以下疑问。如果两个表都有它们的值,那么它运行得很好,但是如果其中一个表为空,那么就没有输出

$result = mysql_query("
SELECT
  (SELECT SUM(s.total)-SUM(r.total)
   FROM rsales AS s
   WHERE r.pcode=s.pcode ) AS total,

  (SELECT SUM(s.qty)-SUM(r.qty)
   FROM rsales AS s
   WHERE r.pcode=s.pcode ) AS qty,

  (SELECT SUM(s.discount)-SUM(r.discount)
   FROM rsales AS s
   WHERE r.pcode=s.pcode ) AS discount,

  (SELECT SUM(s.vatable_sales)-SUM(r.profit)
   FROM rsales AS s
   WHERE r.pcode=s.pcode ) AS profit,

  (SELECT SUM(s.vats)-SUM(r.vats)
   FROM rsales AS s
   WHERE r.pcode=s.pcode ) AS vats,
       r.pcode
FROM rreturn AS r
GROUP BY r.pcode;
");

请帮助我。

您需要修改代码,使其不被使用,因为这是从PHP运行SQL查询的错误方法

直接从这个链接:

从PHP5.5.0开始,此扩展已被弃用,并将在中删除 未来。相反,应该使用MySQLi或PDO_MySQL扩展。 有关更多信息,请参见MySQL:选择API指南和相关常见问题解答 信息。此功能的替代方案包括:

查看从PHP运行SQL查询的其他方法。此外,您可能希望在PHP中进行这些计算,而不是在数据库服务器上进行这些计算。看起来您试图在内联查询中执行太多操作


有关该主题的更多信息,请参见此问题:.

其中r.pcode=s.pcode)总计。。等等

由于“something=nothing”不能是something,因此无法输出(如果其中一个表为空,则通过此查询)。好。。至少在PHP lol中是这样

您的表1正在表2中搜索相同的值。因为空表中没有值,所以输出为nothing=0


要使“输出”起作用,两个表中的pcode值必须完全相同

其余的在哪里?p、 不推荐使用美国的mysql。使用mysqli或PDO。你可以在一个连接查询中完成这一切,那么为什么会有这么多子查询呢?将实际的表结构放在这里。
mysql\u query
不应在新的应用程序中使用。这是一个不推荐使用的接口,将从PHP的未来版本中删除。一个现代化的替代品,如和,将使您的数据库代码更容易得到正确的。是的,我认为您的想法是正确的,先生。但是,即使没有存储数据,如何在每个表中设置0?如果表为空,则不能在表行中设置0。我可以帮你们解决这个问题,让你们的输出出来,但你们必须先告诉我一件事:哪个表是空的?是轮换,还是轮换?