我有一个包含产品和价格的小型数据库。我想在我的名为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: <?php echo $rows['sum(orderpris)']; ?>
</div>
<?php }
?>
<?php
sum();
?>
答案 0 :(得分:-1)
试试这个:
<?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-我添加了一个别名&#39;总计&#39;查询
- 虽然有效,但是尝试不在您的函数中使用数据库连接,假设您有多个函数并且需要连接到数据库,每次都会重复相同的操作。
- 尝试将sum()函数移动到类
- 尝试为数据库连接创建一种独特的方式,而不是为每个函数创建多个连接。