PHP错误Warning:mysql_query()的解决方法

php提示错误:Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO)

代码:

  1. <?php  
  2. class mysqlClass  
  3. {  
  4. function mysqlClass($host='localhost',$user='root',$pw='',$db='mysql')  
  5. {  
  6. $this->link=mysql_connect($host,$user,$pw);  
  7. mysql_select_db($db);  
  8. }  
  9. function query($sql){  
  10. mysql_query($sql);  
  11. }  
  12. function __destruct(){  
  13. mysql_close($this->link); //multi construct will cause error  
  14. }  
  15. // liehuo,net 
  16. }  
  17. $db=new mysqlClass();  
  18. $db=new mysqlClass();  
  19. $db->query("select * from user"); 

原因:

mysqlClass第二次初使化时,先初使化mysqlClass,得到跟第一个$db相同的$this->link,然后调用__construct函数会把this->link关闭。

最后导致$db中mysql资源为空。弹出错误

解决办法:

  1. $db=$db?$db:new mysqlClass();  

或者

  1. $this->link=mysql_connect($host,$user,$pw,true); 

转载请注明:代码家园 » PHP错误Warning:mysql_query()的解决方法

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)