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为空对象,不知道是什么原因,熟悉的大哥大姐给指点指点
展开
 我来答
百度网友434a95f
2013-08-28 · TA获得超过239个赞
知道小有建树答主
回答量:332
采纳率:0%
帮助的人:224万
展开全部
function xxxx()
{
 global $db;
 .....
}

函数内不能直接访问外部变量,需要用到global 或者$_GLOBAL['db']

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
第饿死鬼
2017-06-02 · TA获得超过1.4万个赞
知道小有建树答主
回答量:9936
采纳率:17%
帮助的人:1266万
展开全部
父类Controller里边是有一个构造函数的,我只知道你这样定义你的构造函数肯定会报错,不过具体是不是这个错误我忘记了,解决办法是:在你的构造函数的function的第一行加入代码parent::__construct();//执行父类的构造函数,否则会被覆盖的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
飞丹爱恋
2013-08-28
知道答主
回答量:40
采纳率:0%
帮助的人:24.2万
展开全部
没包含到,先包含db.php 再包含function
追问
应该不是这个问题,包含顺序我调整过,还是不行
追答
你function里面要包含db.php,然后实例化下才能使用$db啊,或者就global $db; 把你修改后的代码贴出来看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式