2013-08-02 33 views
0

我在我的數據庫上創建了一個成員表,並以用戶身份輸入用戶名行,並將密碼行作爲密碼輸入。然後我寫了一個腳本,它必須在數據庫中顯示密碼和用戶名。這是它:如何使用print_r僅顯示數組中的文本

<?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] =>密碼)

我如何使其顯示如下文字:

-User -Password

請幫忙。

+1

使用正常'print'功能,數組鍵'[0]'。沒有等待,爲什麼重新包裝它們在一個數組()中呢? – mario

+0

你不這樣做,因爲沒有爲此製作[**'print_r' **](http://php.net/manual/en/function.print-r.php)。 [**'print_r' **](http://php.net/manual/en/function.print-r.php)僅僅是一個幫助你查看變量,數組和像'var_dump'等其他對象的函數。 – Prix

+0

做foreach循環算法。 –

回答

2

這很簡單。只是不要首先製作它們的陣列,並使用常規的echo

在代碼

print_r其他錯誤是一個調試功能(就像var_dump),它不用於數據打印出到用戶。

此外,此聲明:"<BR>";只是意味着什麼。
您必須迴應它才能產生任何效果。

另一件事是你已經覆蓋了你的抓取循環中的DB連接變量。爲此,最好使用常量,如下所示。


這裏是你的代碼,固定

<?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; 
} 
+0

我試過@ mightypork的腳本,但我得到了這個錯誤:注意:數組到字符串轉換E:\ PortableApps \ xampp-portable \ htdocs \ xampp \ mysqlconnecter.php在線23 數組 注意: :\ PortableApps \ xampp-portable \ htdocs \ xampp \ mysqlconnecter.php 24行 Array – FireRaven101

+0

idk你做了什麼,但我忘了刪除兩個額外的括號。試試這個新版本。 – MightyPork

+0

以及如果我有多個用戶名或密碼會怎麼樣? – FireRaven101