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报错configure error Cannot find libmysqlclient under usr的解决方法

今天在64位Red Hat Enterprise Linux AS release 4 .7上编译PHP5.2.6出错,mysql是使用的RPM方式安装的,PHP编译代码如下: ....

PHP获取MySql新增记录ID值的3种方法

一、使用语句:   复制代码 代码如下:mysql_query("select max(id) from t1",$link); 使用此方法得到的是 id最大的值,确为最后一个...

非常不错的MySQL优化的8条经验

1、选取最适用的字段属性   MySQL 可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更...

解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql

此教程中使用的相关IP等设置,在你的环境中要做相应修改。使用之前更新apt-get,因为服务器基本上是一个裸系统apt-get update;apt-get upgrade;1 我们使用...

PHP格式化MYSQL返回float类型的方法

本文实例讲述了PHP格式化MYSQL返回float类型的方法。分享给大家供大家参考,具体如下: PHP 中获取mysql的float字段,echo 输出后,小数部分为包含多个0. 可使用...