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

yipeiwu_com6年前Mysql基础

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

<?php 
class mysqlClass 
{ 
function mysqlClass($host='localhost',$user='root',$pw='',$db='mysql') 
{ 
$this->link=mysql_connect($host,$user,$pw); 
mysql_select_db($db); 
} 
function query($sql){ 
mysql_query($sql); 
} 
function __destruct(){ 
mysql_close($this->link); //multi construct will cause error 
} 
// liehuo,net 
} 
$db=new mysqlClass(); 
$db=new mysqlClass(); 
$db->query("select * from user"); 

原因:
mysqlClass第二次初使化时,先初使化mysqlClass,得到跟第一个$db相同的$this->link,然后调用__construct函数会把this->link关闭。
最后导致$db中mysql资源为空,弹出错误。
解决办法:
$db=$db?$db:new mysqlClass(); 
或者
$this->link=mysql_connect($host,$user,$pw,true);

希望提供的解决方法可以真正的帮助到大家。

相关文章

PHP HTML JavaScript MySQL代码如何互相传值的方法分享

1.PHP   a.PHP -> HTML & JavaScript   额 超简单,我也要写= =~   html代码中 <input type="" readonly="...

mysql limit查询优化分析

Limit语法: 复制代码 代码如下:SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset LIMIT子句可以被用于...

libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢

是否一定要这样做呢?很多网上的帖子都是人云亦云,别人说要,他也说要。 其实用的,每次重装系统,都这样拷一遍,折腾一遍,太辛苦了。 用过APMServ这个傻瓜式安装包的朋友可能会发觉,这个...

apache2.2.4+mysql5.0.77+php5.2.8安装精简

1.安装Apache 将httpd-2.2.4.tar.gz拷贝至/usr/local/src目录中 tar -zxvf httpd-2.2.4.tar.gz cd httpd-2.2....

PHP开发者常犯的10个MySQL错误更正剖析

1.使用MyISAM而不是InnoDB   完全错误,反驳理由:   首先原文说MyISAM是默认使用的,而实际上到了MySQL 5.5.x,InnoDB已经成为了默认的表引擎。   另...