PHP 脚本 (mysqli) 没有回显什么?

标签 php mysql mysqli

<分区>

为什么这段代码什么都不做?他没有回应结果.. 此脚本的目标是回显一列的平均值(保留 2 位小数)。

<?php
if (isset($_GET["age"]));
$age = ($_GET["age"]);
include($_SERVER["DOCUMENT_ROOT"] . "/3/includes/config.php");

$con=mysqli_connect($dbhost,$dbuser,$dbpass,$dbname);
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT AVG(price) FROM data WHERE age= '$age'") or die("Error: " . mysqli_error($con));

while($row = mysqli_fetch_array($result));
echo $row['price'];

die();

?>

最佳答案

你已经有效地将你的 echo 语句放在循环之后:

while($row = mysqli_fetch_array($result));
                                         ^ this is the problem
echo $row['price'];

... 等同于:

while($row = mysqli_fetch_array($result)) {}
echo $row['price'];

在循环之后 $row 将是 false 所以什么都不会回显。

你想要:

while($row = mysqli_fetch_array($result))
    echo $row['price'];

或(更好,因为它会避免这些类型的错误......):

while($row = mysqli_fetch_array($result)) {
    echo $row['price'];
}

并且您应该使用准备好的语句来避免您现在遇到的 sql 注入(inject)问题。

关于PHP 脚本 (mysqli) 没有回显什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41040692/

相关文章:

mysql - 在 MYSQL 表中查找重复项,其中数据位于 "title"-> "value"列以及其他相关表中的其他数据

php - 如何获取新插入行的id?

php - while 循环将连接到四个不同类(class)的单个名称四次写入,如何修复

php - 将带有散列密码的用户表从旧的 php 应用程序迁移到新的 laravel 应用程序

php - 在 Laravel 上过滤

mysql - 如何从偏移量到表末尾求和()?

通过 DSN 的 Java MySql 连接

php - mysqli中的位标志是什么意思使用fetch_field_direct

javascript - Node.js、PHP 和 Express

php - 以有效的方式对来自三个不同表的数据进行排序和合并