2013-04-29 94 views
0

我真的很難從我的sql數據庫中獲取值。我的代碼在下面,我試圖顯示$ balance,但是當我回顯它時,它只顯示「Array」。我如何從MySQL表中獲取值 - PHP

這裏是我的數據庫表的圖像: database table

<?php 
session_start(); 
echo "<!DOCTYPE html>\n<html><head><script src='OSC.js'></script>"; 
include 'functions.php'; 

$userstr = ' (Guest)'; 

if (isset($_SESSION['user'])) 
{ 
    $user  = $_SESSION['user']; 
    $loggedin = TRUE; 
    $userstr = " ($user)"; 
    $balancequery = mysql_query("SELECT balance FROM members WHERE user = '$user'"); 
    $balance = mysql_fetch_assoc($balancequery); 
} 
else $loggedin = FALSE; 

echo "<title>$appname$userstr</title><link rel='stylesheet' " . 
    "href='styles.css' type='text/css' />" . 
    "</head><body><div class='appname'>$appname$userstr</div>"; 

if ($loggedin) 
{ 
    echo "<br ><ul class='menu'>" . 
     "<li><a href='members.php?view=$user'>Home</a></li>" . 
     "<li><a href='members.php'>Members</a></li>" . 
     "<li><a href='stockdata.php'>Stocks</a></li>" . 
     "<li><a href='logout.php'>Log out</a></li></ul><br />"; 
} 
else 
{ 
    echo ("<br /><ul class='menu'>" . 
     "<li><a href='index.php'>Home</a></li>" . 
     "<li><a href='signup.php'>Sign up</a></li>" . 
     "<li><a href='login.php'>Log in</a></li></ul><br />" . 
     "<span class='info'>&#8658; You must be logged in to " . 
     "view this page.</span><br /><br />"); 
} 
?> 
+0

什麼是print_r($餘額)顯示你?順便說一句,mysql_query被折舊。 – RelevantUsername 2013-04-29 21:28:35

+0

這是因爲$餘額是一個數組。嘗試使用print_r($ balance)並查看出來的內容。並搜索php數組來學習如何從數組中回顯一個值。 – jimmy 2013-04-29 21:29:18

+0

@RelevantUsername給了我「Array([balance] => 1000000)」 – MalvEarp 2013-04-29 21:33:15

回答

1

這是因爲你試圖呼應的associatove陣列,至極不起作用。嘗試通過索引你的陣列

echo $balance['balance']; //this is just array_name['column_name'] 

我想記住你,mysql_功能已被棄用,所以我會建議你切換到mysqliPDO打印爲值。

2

mysql_fetch_assoc返回該行的字段的關聯數組。爲了呼應該行中的一個字段,你必須給它適當的指數,這將是字段的名稱:

echo $balance["balance"]; 

而且MySQL的PHP​​擴展已被棄用。請查看MySQLiPDO_MySQL