【问题标题】:Two query, two results from sql trying to divide them in php两个查询,来自 sql 的两个结果试图在 php 中划分它们
【发布时间】:2013-05-17 15:01:45
【问题描述】:

我有两个来自 sql 的计数查询。我想划分这两个查询的结果。我试过了:

    $con = mysqli_connect("localhost", "root", "", "xoxo") or die(mysqli_connect_error());

    $query = "SELECT COUNT(xxxx) AS a zzzz";

    $query1 = "SELECT COUNT(xxxx) AS b FROM zzzz WHERE xxxx = 'cccc'";


    $result = mysqli_query($con, $query) or die('Error querying database');
    $result1 = mysqli_query($con, $query1) or die('Error querying database');

    $row = mysqli_fetch_array($result);
    $rowa = mysqli_fetch_array($result1);

    $x = $row/$rowa;

    echo $x;

但它告诉我它有一个致命错误。我也试过:

$con = mysqli_connect("localhost", "root", "", "xoxo") 或 die(mysqli_connect_error());

    $query = "SELECT COUNT(xxxx) AS row1 FROM zzzz";

    $query1 = "SELECT COUNT(xxxx) AS row2 FROM zzzz WHERE xxxx = 'cccc'";

    $result = mysqli_query($con, $query) or die('Error querying database');
    $result1 = mysqli_query($con, $query1) or die('Error querying database');


    while ($row = mysqli_fetch_array($result)) {

    }

    while ($row1 = mysqli_fetch_array($result1)) {

    }

    echo (int)($row['row1'] / $row1['row2']);

但它告诉我这是除以零。但是,我的 row1 和 row2 都对它有价值。

【问题讨论】:

  • $row 仅在 while 循环内可见,与 $row1 相同。

标签: php mysql division


【解决方案1】:

你已经在while loop中初始化了两个查询的结果

试试这个

 $row = mysqli_fetch_array($result);
 $row1 = mysqli_fetch_array($result1);

echo (int)($row['row1'] / $row1['row2']);

【讨论】:

    【解决方案2】:

    当您使用while 循环时,这意味着它将循环直到条件为假,这意味着您的$row$row1 都是假的。你需要的是:

    $query = "SELECT COUNT(xxxx) AS row1 FROM zzzz";
    
    $query1 = "SELECT COUNT(xxxx) AS row2 FROM zzzz WHERE xxxx = 'cccc'";
    
    $result = mysqli_query($con, $query) or die('Error querying database');
    $result1 = mysqli_query($con, $query1) or die('Error querying database');
    
    $row = mysqli_fetch_array($result);
    $row1 = mysqli_fetch_array($result1);
    
    echo (int)($row['row1'] / $row1['row2']);
    

    您的第一个示例不起作用,因为当您执行 $row/$rowa 时,您正在尝试划分 2 个数组...

    【讨论】:

    • 记得处理 $row1['row2'] == 0 这会导致 PHP 错误。
    猜你喜欢
    • 1970-01-01
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    • 2012-11-14
    • 1970-01-01
    • 2021-07-02
    • 2020-12-22
    • 2016-10-27
    相关资源
    最近更新 更多