0

我在我的数据库上创建了一个成员表,并将用户名行作为用户输入,将密码行作为密码输入。然后我编写了一个脚本,该脚本必须在数据库中显示密码和用户名。就是这个:

<?PHP

$user_name = "root";
$password = "Hunter123";
$database = "adventure_of_dragons";
$server = "127.0.0.1";

$db_handle = mysql_connect($server, $user_name, $password);

$db_found = mysql_select_db($database, $db_handle);

if ($db_found) {
$SQL = "SELECT * FROM members";
$result = mysql_query($SQL);

while ( $db_field = mysql_fetch_assoc($result) ) {

$id = array($db_field['member_id']);  "<BR>";
$username = array($db_field['username']); "<BR>";
$password = array($db_field['password']);  "<BR>";
$rank = array($db_field['rank']);  "<BR>";

print_r($username);
print_r($password);
}

mysql_close($db_handle);

}

else {

print "Database NOT Found " . $db_handle;

}


?>

但是当我运行代码时,它会显示:

数组 ( [0] => 用户 ) 数组 ( [0] => 密码 )

如何让它显示这样的文本:

-用户密码

请帮忙。

4

1 回答 1

2

这很简单。只是不要一开始就制作它们的数组,并使用常规echo的 .

代码中的其他错误

print_r是一个调试功能(就像var_dump),它不用于向用户打印数据。

此外,这句话:"<BR>";根本没有任何意义。
你必须回显它才能产生任何效果。

另一件事是您在获取循环中覆盖了数据库连接变量。最好为此使用常量,如下所示。


这是您的代码,已修复

<?php

define("DB_USERNAME", "root");
define("DB_PASSWORD", "Hunter123");
define("DB_DATABASE", "adventure_of_dragons");
define("DB_SERVER", "127.0.0.1");

$db_handle = mysql_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD);

$db_found = mysql_select_db(DB_DATABASE, $db_handle);

if ($db_found || true) {

    $SQL = "SELECT * FROM members";
    $result = mysql_query($SQL) or die(mysql_error());

    while ( $row = mysql_fetch_assoc($result) ) {

        $id = $row['member_id'];
        $username = $row['username'];
        $password = $row['password'];
        $rank = $row['rank'];

        echo 'ID = ' . $id . '<br>';
        echo 'RANK = ' . $rank . '<br>';
        echo 'USERNAME = ' . $username . '<br>';
        echo 'PASSWORD = ' . $password . '<br><br>';
        // two <br>'s, so we get an empty line between users
    }

    mysql_close($db_handle);

} else {
    echo "Database NOT Found " . $db_handle;
}
于 2013-08-02T22:08:43.593 回答