一个函数调用方面的错误,求解。

chjin 宁波栎社国际机场 软件技术总监  2010-07-11 09:07:53
这是我写的连接数据库的函数:
function db_connect(){
@$db=new mysqli("localhost","root","","trade");
if(mysqli_connect_errno()){
echo "数据库连接错误";
exit;
}
$db->query("set names 'utf8'");
//echo "连接数据库成功";
}

这里是调用的代码:
43 <?php
44 db_connect();
45 $sql="select b_class,id from p_class where b_id='0' order by b_index asc";
46 $result=$db->query($sql);
47 while($row=$result->fetch_assoc()){
48 echo "<li>".$row['b_class']."</li>";

这个是错误信息:
Notice: Undefined variable: db in D:\wamp\www\trade\index.php on line 46

Fatal error: Call to a member function query() on a non-object in D:\wamp\www\trade\index.php on line 46

这到底是咋回事呢?
...全文
46 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
chjin 2010-07-14
是的,脑子一时糊涂了,后来用了return $db;的方式,谢谢。
回复
xuzuning 2010-07-12
function db_connect(){
@$db=new mysqli("localhost","root","","trade");
if(mysqli_connect_errno()){
echo "数据库连接错误";
exit;
}
$db->query("set names 'utf8'");
//echo "连接数据库成功";
return $db;
}

$db = db_connect();
回复
kyzy_yy_pm 2010-07-12
$db = null;
function db_connect(){
@$db=new mysqli("localhost","root","","trade");
if(mysqli_connect_errno()){
echo "数据库连接错误";
exit;
}
$db->query("set names 'utf8'");
//echo "连接数据库成功";
}
要在外面声明下$db
回复
kyzy_yy_pm 2010-07-12
db_connect();
中的代码看看
回复
床上等您 2010-07-12
使用 return 就行了。很明显的 db 对象不存在,更同有 query 方法。
回复
Dleno 2010-07-11
function db_connect(){
global $db;
$db=new mysqli("localhost","root","","trade");
if(mysqli_connect_errno()){
echo "数据库连接错误";
exit;
}
$db->query("set names 'utf8'");
//echo "连接数据库成功";
}

这里是调用的代码:
43 <?php
$db=null;
44 db_connect();
45 $sql="select b_class,id from p_class where b_id='0' order by b_index asc";
46 $result=$db->query($sql);
47 while($row=$result->fetch_assoc()){
48 echo "<li>".$row['b_class']."</li>";
回复
chjin 2010-07-11
我初步判断也是这个原因,但我不敢肯定,所以发到这里来问了一下,但还是无法知道该怎以解决。
回复
fxs_2008 2010-07-11
PHPer要学会看出错提示和debug调试

你那个是没有数据库对象没有成功

@$db=new mysqli("localhost","root","","trade");

这个只有函数内有作用域,函数外就没有了

应该把它放在函数之外,或gobal声明它

回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告