关于php连接mysql函数
$db=newMySQLi("127.0.0.1","root","","shop");$db->query("setnamesgbk");functionselect_...
$db=new MySQLi("127.0.0.1","root","","shop");$db->query("set names gbk");
function select_mycx($table,$by,$select_str,$number){
$sql="select * from ".$table." where ".$by."='".$select_str."'";
$result=$db->query($sql);
if($number=="1"){
$rows=$result->fetch_row();
}
else{
$rows=$result;
}
return $rows;
}
上面就是我自己些的一个数据库查询函数,但是在调用的时候提示错误
Notice: Undefined variable: db in C:\xampp\htdocs\shop\files\mysql.php on line 5
Fatal error: Call to a member function query() on a non-object in C:\xampp\htdocs\shop\files\mysql.php on line 5
不清楚应该怎么修改,第一行的“$db=new MySQLi("127.0.0.1","root","","shop");$db->query("set names gbk");”
这个东西是没错的,我不用这个函数查询的话是这样的
$sql="select * from type where name='首页'";
$result=$db->query($sql);
$rows=$result->fetch_row();
也是没错的,这个不知道怎么搞的,请高手解答 展开
function select_mycx($table,$by,$select_str,$number){
$sql="select * from ".$table." where ".$by."='".$select_str."'";
$result=$db->query($sql);
if($number=="1"){
$rows=$result->fetch_row();
}
else{
$rows=$result;
}
return $rows;
}
上面就是我自己些的一个数据库查询函数,但是在调用的时候提示错误
Notice: Undefined variable: db in C:\xampp\htdocs\shop\files\mysql.php on line 5
Fatal error: Call to a member function query() on a non-object in C:\xampp\htdocs\shop\files\mysql.php on line 5
不清楚应该怎么修改,第一行的“$db=new MySQLi("127.0.0.1","root","","shop");$db->query("set names gbk");”
这个东西是没错的,我不用这个函数查询的话是这样的
$sql="select * from type where name='首页'";
$result=$db->query($sql);
$rows=$result->fetch_row();
也是没错的,这个不知道怎么搞的,请高手解答 展开
1个回答
2012-09-21 · 知道合伙人软件行家
关注
展开全部
由于没有看到完整的代码,仅就看到的代码试作解答如下:
1. Notice: Undefined variable: db in C:\xampp\htdocs\shop\files\mysql.php on line 5
警告:未字义的变量db(第5行不太清楚是哪行代码)。
这个错误提示,从已知的代码来看,其原因应该是你在函数体里引用了一个函数体外定义的变量(db),从代码看其实就是没有注意到, 对于变量 作用域范围(全局、局部)错误应用的问题。
简单的说,函数 select_mycx 里找不到 db。
解决办法:
(1). 用参数传递进去。
function select_mycx($table,$by,$select_str,$number,$db)
{
.....
}
(2). 在参数体里定义全局变量引用:
function select_mycx($table,$by,$select_str,$number)
{
global $db;
....
}
2.Fatal error: Call to a member function query() on a non-object in C:\xampp\htdocs\shop\files\mysql.php on line 5
这个错误实际上是上面的错误引起的,因为$db没有正确引入,所以再 query 当然不能正确执行。
1. Notice: Undefined variable: db in C:\xampp\htdocs\shop\files\mysql.php on line 5
警告:未字义的变量db(第5行不太清楚是哪行代码)。
这个错误提示,从已知的代码来看,其原因应该是你在函数体里引用了一个函数体外定义的变量(db),从代码看其实就是没有注意到, 对于变量 作用域范围(全局、局部)错误应用的问题。
简单的说,函数 select_mycx 里找不到 db。
解决办法:
(1). 用参数传递进去。
function select_mycx($table,$by,$select_str,$number,$db)
{
.....
}
(2). 在参数体里定义全局变量引用:
function select_mycx($table,$by,$select_str,$number)
{
global $db;
....
}
2.Fatal error: Call to a member function query() on a non-object in C:\xampp\htdocs\shop\files\mysql.php on line 5
这个错误实际上是上面的错误引起的,因为$db没有正确引入,所以再 query 当然不能正确执行。
追问
我对PHP也不精通,第五行是这行$result=$db->query($sql);
我只知道$db=new MySQLi("127.0.0.1","root","","shop");这个是PHP的一个函数,调用数据库的,把他写到个文件里面,引用require("mysql.php");
执行查询语句就是这样
$sql="select * from type where name='首页' ";
$result=$db->query($sql);
$rows=$result->fetch_row();
然后输出,如果有这张表只有两个字段,就是$rows[0] 和 $rows[1]
追答
不管是引用 require / include 还是其他的,错误的原因都是你需要正确区分变量的作用域。
建议:
function select_mycx($table,$by,$select_str,$number,$db)
这样修改就可以了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询