【问题标题】:Object of class mysqli_result could not be converted to number (PHP | MySQL) [duplicate]mysqli_result 类的对象无法转换为数字(PHP | MySQL)[重复]
【发布时间】:2021-07-06 08:42:01
【问题描述】:

如果这个问题是重复的或以前被问过,我很抱歉。我在互联网上阅读了一些参考资料,但仍然不明白。

所以,我有一个transaction 表:

id customer qty date
1 cus1 5 2021-04-01
2 cus2 3 2021-04-01
3 cus3 7 2021-04-02

我想把date = "2021-04-01" 的所有qty 数据,然后我想总结一下。所以,我正在使用以下代码:

$qty = $db->query("SELECT SUM(`qty`) FROM `transaction` WHERE `date` = '2021-04-01'");

注意:$db 变量是连接数据库的函数

接下来,我要将查询的结果相乘,如下:

$profit = $qty * 10;

当我运行代码时,我收到一条错误消息:

Notice: Object of class mysqli_result could not be converted to number

我该如何解决?我想要的只是将变量$qty$qty * 10)的查询结果相乘

我是初学者。任何帮助将不胜感激。谢谢各位。

【问题讨论】:

    标签: php mysql sql mysqli mariadb


    【解决方案1】:

    我更新了您的 SQL 查询,为聚合设置别名以便于访问。

    $qty = $db->query("SELECT SUM(`qty`) as 'val_sum' FROM `transaction` WHERE `date` = '2021-04-01'");
    

    您可以使用 "(int) $string_value" 将字符串转换为 int

    if ($qty->num_rows > 0) {
       $row = $qty->fetch_assoc()
       $profit = (int) $row['val_sum'] * 10;
    }
    

    【讨论】:

    • 请不要回答明显的重复。
    猜你喜欢
    • 2019-03-19
    • 2014-03-31
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多