2013-04-26 65 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);