php一个关于类的基础问题
include_once("mysql.class.php");//引入一个类
$db=new mysql("localhost","root","","test","GBK");//实例化对象
function test(){ //自定义一个函数
$sql="SELECT * FROM user";
$query=$db->query($sql);//在自定义函数中使用这个对象,这里有错,正确的应该怎么写呢?
$result=$db->fetch_array($query);
echo $result['user_name'];
}
test();
直接在函数里面用$db对象的话,会报错,变量db未定义,这个在函数里面应该怎么用呢?
追问:非常感谢你的回答.还有一个疑问:这个$db应该已经是全局变量了吧,为什么还要在函数中用global呢?我的意思是实例化类的这个$db=new mysql("localhost","root","","test","GBK");不是全局的吗,为什么在函数中不能直接使用?
答案:在$sql="SELECT * FROM user";的上面加global $db;意思是$db是全局变量。
修改后,是这样的:
function test(){ //自定义一个函数
global $db;
$sql="SELECT * FROM user";
$query=$db->query($sql);//在自定义函数中使用这个对象,这里有错,正确的应该怎么写呢?
$result=$db->fetch_array($query);
echo $result['user_name'];
}
其他:对你的追问回答
函数里面的变量是私有的,只能在这个函数里面使用。但是你function test()这里的$db确用到了外面的。 2.第一个函数里的string string又是什么意思?问题补充: 3.两个函数中1、int,bool是指函数的返回值类型。 2、第一个string是参数类型,第二个 你这个还是写在一个类里面的 不是那么$db怎么使全局变量呢
上一个:php写入数据到php文件第2行 以及更改第3行数据 会的来
下一个:php如何获取文件内容?