Heim > Backend-Entwicklung > PHP-Tutorial > 关于PHP实例化对像,在线等 急

关于PHP实例化对像,在线等 急

WBOY
Freigeben: 2016-06-23 13:43:44
Original
840 Leute haben es durchsucht

为什么我这么做。不行呢?
$db=new db;
class db
{ function sql($sql){
global $conn;  //数据库
$query = $conn->query($sql);
$rs = mysql_fetch_array($query);
return $rs;
mysql_free_result($query);

}


function Listname(){
$id =Cut(intval($weburl[2]));
$rs = $db->sql("select title from `column` where id = ".$id); 
return $rs[0];
}

报错:
Notice: Undefined variable: db in 
Fatal error: Call to a member function sql() on a non-object in 

14行出错 第14行:$rs = $db->sql("select title from `column` where id = ".$id); 


回复讨论(解决方案)

$db=new db;这句话是不是应该放在创建类下面

$query = $conn->query($sql);
改成
$query =mysql_query($sql,$conn);

把$db=new db;放在function Listname()里面

$db=new db;
这行放到 Listname函数里面去,或者说在Listname函数中调用到$db之前用global把$db全局化。
你既然在sql函数中使用了global关键字全局化了$conn变量,说明你是知道作用域的,怎么还会犯这样的错误

$query = $conn->query($sql);
改成
$query =mysql_query($sql,$conn);



按您所说改成这样:
class db
{ function sql($sql){
global $conn; 
$query = $mysql_query($sql);
$rs = mysql_fetch_array($query);
return $rs;
mysql_free_result($query);

}
$db=new db;

function Listname(){
global $db; 
$id = ourphp_Cut(intval($weburl[2]));
$rs = $db->sql("select title from `column` where id = ".$id); 
return $rs[0];
}
可还是不行
报错:Notice: Undefined variable: mysql_query
Fatal error: Function name must be a string in 

$db=new db;
这行放到 Listname函数里面去,或者说在Listname函数中调用到$db之前用global把$db全局化。
你既然在sql函数中使用了global关键字全局化了$conn变量,说明你是知道作用域的,怎么还会犯这样的错误



按照您所说的 报错Fatal error: Call to a member function query() on a non-object 

我把query()改成mysql_query就报Fatal error: Call to a member function mysql_query() on a non-object in 

这是什么意思呢

谢谢各位 解决把
$query = mysql_query($sql); 解决了

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage