php 프롬프트 오류: 경고: mysql_query() [function.mysql-query]: 사용자 'ODBC'@'localhost' (비밀번호 사용: 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)
제공된 솔루션이 모든 사람에게 실제로 도움이 되기를 바랍니다.