php 函数调用问题 Call to a member function get_all() on a non-object function.php on line 37
global.php<?include("include/function.php");include("include/db.php");$db=newDB();?>d...
global.php
<?
include("include/function.php");
include("include/db.php");
$db = new DB();
?>
db.php
<?
Class DB {
private $link_id;
private $handle;
private $is_log;
private $time;
//构造函数
public function __construct() {
$this->time = $this->microtime_float();
require_once("config.db.php");//定义数据库参数口令
....
?>
function.php
<?
...
$rss = $db->get_all($sql); //line on 37
...
?>
在其他页面调用$db数据库类操作没有问题,唯独在funcion中调用$db为空对象,不知道是什么原因,熟悉的大哥大姐给指点指点 展开
<?
include("include/function.php");
include("include/db.php");
$db = new DB();
?>
db.php
<?
Class DB {
private $link_id;
private $handle;
private $is_log;
private $time;
//构造函数
public function __construct() {
$this->time = $this->microtime_float();
require_once("config.db.php");//定义数据库参数口令
....
?>
function.php
<?
...
$rss = $db->get_all($sql); //line on 37
...
?>
在其他页面调用$db数据库类操作没有问题,唯独在funcion中调用$db为空对象,不知道是什么原因,熟悉的大哥大姐给指点指点 展开
展开全部
function xxxx()
{
global $db;
.....
}
函数内不能直接访问外部变量,需要用到global 或者$_GLOBAL['db']
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
父类Controller里边是有一个构造函数的,我只知道你这样定义你的构造函数肯定会报错,不过具体是不是这个错误我忘记了,解决办法是:在你的构造函数的function的第一行加入代码parent::__construct();//执行父类的构造函数,否则会被覆盖的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没包含到,先包含db.php 再包含function
追问
应该不是这个问题,包含顺序我调整过,还是不行
追答
你function里面要包含db.php,然后实例化下才能使用$db啊,或者就global $db; 把你修改后的代码贴出来看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询