我有一个名为: 的函数table()
。
如果我在函数之外编写了 PDO 连接,则无法通过 PDO 连接到数据库,如下所示:
include_once("server.inc");
$connect = new PDO('mysql:host='.$servername.'; dbname='.$db.';charset=utf8' , $username, $password);
function table()
{
$sql="select * FROM d1" ;
$result = $connect->query($sql) ;
foreach ($result as $rows )
{
echo $rows["Course_name"] . "<br/>" ;
}
}
echo table() ;
此代码不起作用并给出以下错误:
注意:未定义的变量:connect
致命错误:在非对象上调用成员函数 query()
现在,如果我使用这样的代码:
function table()
{
include_once("server.inc");
$connect = new PDO('mysql:host='.$servername.'; dbname='.$db.';charset=utf8' , $username, $password);
$sql="select * FROM d1" ;
$result = $connect->query($sql) ;
foreach ($result as $rows )
{
echo $rows["Course_name"] . "<br/>" ;
}
}
echo table() ;
一切都会好起来的,但是会发生另一个问题——我只能使用函数 table() 一次!如果我第二次使用它,就会发生这个错误:
注意:未定义变量:servername
注意:未定义变量:db
注意:未定义变量:用户名
注意:未定义变量:密码
警告:为 foreach() 提供的参数无效
我应该怎么做才能多次使用我的功能而没有错误?