使用不同文件中的函数时mysqli数据库连接错误

时间:2013-05-11 15:39:41

标签: php mysqli

我遇到的问题是mysqli-connection没有打开或被其他文件中包含的函数使用。请看下面的设置。如果我把所有代码都放到一个文件中,它可以很好地工作,但这样就没有任何反应。

connection.php

<?php
function connect() {
    $db = new mysqli("host", "user", "pswrd", "database");
    return $db;
}
?>

的functions.php

<?php
function get_user_email($user_id) {
    $sql = "SELECT email FROM user_acc WHERE user_id='$user_id'";
    if(!$result = $db->query($sql)) {die("woops!");}
    $data = $result->fetch_assoc();
    return $data['email'];
}
?>

的index.php

<?php
include("connection.php");
include("functions.php");
$db = connect();
echo get_user_email(1);
?>

1 个答案:

答案 0 :(得分:0)

通过更改文件functions.php:

解决了这个问题
<?php
function get_user_email($user_id) {
    global $db; //This is what was needed!
    $sql = "SELECT email FROM user_acc WHERE user_id='$user_id'";
    if(!$result = $db->query($sql)) {die("woops!");}
    $data = $result->fetch_assoc();
    return $data['email'];
}
?>

感谢您的常识提供导致回答此问题的间接答案;)