2013-03-05 106 views
4

我刚开始研究Mysqli,现在我已经理解了它的大部分内容,但是我遇到了一个将我连接到其他页面上的数据库的函数的问题。PHP mysqli连接函数

我想要的只是输入getConnected();我需要连接的地方。

这是代码:

function getConnected() { 
$host = 'localhost'; 
$user = 'logintest'; 
$pass = 'logintest'; 
$db = 'vibo'; 

$mysqli = new mysqli($host, $user, $pass, $db); 

if($mysqli->connect_error) { 
    die('Connect Error (' . mysqli_connect_errno() . ') ' 
      . mysqli_connect_error()); 
} 
} 

,这是错误我得到:

Notice: Undefined variable: mysqli in C:\xampp\htdocs\xampp\loginsystem\index.php on line 19 
+1

如果你在一个函数中设置了一个var,你不能'使用它出来 – Sam 2013-03-05 14:16:11

+0

Sam是正确的,查找php变量的作用域。您可以使用以下代码返回变量: return $ mysqli; 然后调用这样的函数:$ con = getConnected(); – Keeleon 2013-03-05 14:17:14

+0

你在哪里使用这个功能?需要多一点吧 – asprin 2013-03-05 14:17:27

回答

13

由于一些用户建议(而且是最好的方法),返回的mysqli实例

function getConnected($host,$user,$pass,$db) { 

    $mysqli = new mysqli($host, $user, $pass, $db); 

    if($mysqli->connect_error) 
    die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error()); 

    return $mysqli; 
} 

例如:

$mysqli = getConnected('localhost','user','password','database'); 
+0

谢谢大家!这是解决方案。 – 2013-03-05 14:30:41