我在我的数据库上创建了一个成员表,并以用户身份输入了用户名行,并输入了密码行作为密码。然后我写了一个脚本,必须在数据库中显示密码和用户名。就是这样:
<?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
请帮忙。
答案 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;
}