从数据库读取值,回显


Read value from database, echo

非常基本,但作为一个新手,我很挣扎。回显不显示任何值,只显示文本。我做错了什么?

Connect.php:

<?php
$connection = mysqli_connect('test.com.mysql', 'test_com_systems', 'systems');
if (!$connection){
    die("Database Connection Failed" . mysqli_error($connection));
}
$select_db = mysqli_select_db($connection, 'swaut_com_systems');
if (!$select_db){
    die("Database Selection Failed" . mysqli_error($connection));
}
?>

Get.php:

<?php
    require('connect.php');
        $query2 = "SELECT systemid FROM user WHERE username=test";
        $result2 = mysqli_query($connection, $query2);
    echo ( 'SystemID: '.$result2);
    ?>

假设您已经成功连接到数据库,那么查询是不正确的。必须将所有文本值用引号括起来,像这样

<?php
    require('connect.php');
    $query2 = "SELECT systemid FROM user WHERE username='test'";
    $result2 = mysqli_query($connection, $query2);

现在,mysqli_query将查询提交到运行它的数据库,并构建结果集。要查看结果集,需要使用fetch函数之一从数据库读取结果集,例如

    $row = mysqli_fetch_assoc($result2);
    echo 'SystemID: ' . $row['systemid'];

如果结果集中有多行,则必须在像这样的循环中执行

    while ($row = mysqli_fetch_assoc($result2)){
        echo 'SystemID: ' . $row['systemid'];
    }

您正在打印mysqli的结果object。为了print的结果,你必须使用:

$row = mysqli_fetch_assoc($result2);
print_r($row);

您需要使用以下命令收集mysqli_query的结果:

require('connect.php');
$query2 = "SELECT systemid FROM user WHERE username=test";
$result2 = mysqli_query($connection, $query2);    
while ($row = mysqli_fetch_assoc($result2)) 
{
   echo "System ID is: " .  $row['systemid'];
}