2013-04-26 63 views
0

這是我在我的主網頁拉離我的數據庫中的數據我不擅長使用類和函數與PHP,所以我得到這個錯誤「無法選擇,錯誤:拒絕訪問用戶'nobody'@'localhost'(使用密碼:否)」如何使用PHP函數

任何幫助將不勝感激!

+0

你在哪裏連接到數據庫? – andrewsi 2013-04-26 16:46:16

+1

[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護[並且被正式棄用](http://j.mp/XqV7Lp)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 – ceejayoz 2013-04-26 16:49:34

回答

2

它看起來像你甚至沒有連接到數據庫。

這裏有一個很好的循序漸進的步驟,它應該告訴你如何使用mysqli或pdo連接到mysql數據庫,這是與mysql更安全的方式。

http://codular.com/php-mysqli

2

有沒有一些與你的代碼問題:

  • 你不應該使用mysql_*功能。他們已被棄用。如果您剛剛瞭解如何在數據庫中使用PHP,請使用正確的方式並使用mysqliPDO
  • 您需要確保您實際連接到數據庫。也許你在這裏沒有顯示,但這顯然是關鍵。
  • 您正打算從您的Client()方法調用中返回數據庫結果。但是你沒有使用你返回結果的變量。

此代碼:

$strQry=$foo->Client(); 
$user_data=mysql_fetch_object($user_res); 

應該是:

$strQry=$foo->Client(); 
$user_data=mysql_fetch_object($strQry); 

因爲$strQry得到結果集資源。

  • 您只能撥打mysql_fetch_object()一次。根據查詢,結果集中可以有任意數量的行。如果你想要所有這些,你需要遍歷結果集並在每行上調用mysql_fetch_object()

也許是這樣的:

$user_data= array(); 
while($row = mysql_fetch_object($strQry)) { 
    $user_data[] = $row; 
} 
  • 如果你堅持使用過時mysql_*功能,你可能至少要在通過數據庫連接在你的函數參數的習慣來獲得,以明確您正在使用哪個數據庫連接。

所以做這樣的事情:

mysql_query($strQry, $dbConn);