如何使用print_r只显示数组中的文本

时间:2013-08-02 22:04:40

标签: php mysql

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

<?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] =&gt;用户)数组([0] =&gt;密码)

如何让它显示如下文字:

-User -Password

请帮忙。

1 个答案:

答案 0 :(得分: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;
}