繁体   English   中英

计算mysqli数据库中的总和

[英]Calculate sum in mysqli database

我有一个包含产品和价格的小型数据库。 我想计算名为“orders”的表中“orderpris”列的总和。 并将其打印到屏幕上。 不确定我是否接近解决方案,但我认为这会起作用,但它不会。 我做错了什么?

<?php       
function sum() { 
    /* Connect to database */
    $db = new mysqli('localhost', 'admin2', 'password', 'myshop');
    if($db->connect_errno > 0){
        die('Fel vid anslutning [' . $db->connect_error . ']');
    }


$results = mysqli_query("SELECT sum(orderpris) FROM orders") or die(mysqli_error());
        while ($rows = mysqli_fetch_array($results)) {

}

    ?>

    <div>
       Total:&nbsp;<?php echo $rows['sum(orderpris)']; ?>
    </div>

<?php }
?>

<?php 
sum();
?>

尝试这个:

<?php

function sum() {
  /* Connect to database */    
  $db = new mysqli('localhost', 'admin2', 'password', 'myshop');
  if ($db->connect_errno > 0) {
        die('Fel vid anslutning [' . $db->connect_error . ']');
  }
  $results = mysqli_query($db, "SELECT sum(orderpris) as total FROM orders") or die(mysqli_error());
  while ($rows = mysqli_fetch_array($results)) {
      $iResult = 'Total:'.$rows['total'];
  }
  return $iResult;
}
echo sum(); 

1-我改变了:

$results = mysqli_query($db, "SELECT sum(orderpris) as total FROM orders") or die(mysqli_error());

反而:

$results = mysqli_query("SELECT sum(orderpris) FROM orders") or die(mysqli_error());

可以看到,mysqli_query 函数至少需要两个参数:

  -A link identifier, in your case it is $db
  -The query string.

2- 我在查询中添加了一个别名“total”

- 它可以工作,但尽量不要在您的函数中使用数据库连接,假设您有多个函数并且您需要连接到数据库,您每次都将重复相同的操作。

- 尝试将 sum() 函数移动到一个类

- 尝试创建一种独特的数据库连接方式,而不是为每个功能创建多个连接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM