使用mysqli配置文件

时间:2014-09-24 08:32:15

标签: php mysql mysqli

我正在更新现有代码。我正在尝试使用“ mysqli ”连接数据库。我有以下文件:

  1. 的config.php
  2. function.php
  3. 的index.php
  4. 的header.php
  5. 的config.php

    <?php 
    $database_host = 'localhost';
    $database_username = 'root';
    $database_password = 'root';
    $database_name = 'db_name';
    ?>
    

    的header.php

    <?php
    include "config.php";
    $link = mysqli_connect($database_host, $database_username, $database_password,$database_name);
    if (mysqli_connect_errno())
        die('Could not connect: ' . mysqli_connect_error());
    ?>
    

    function.php

    <?php
    function mysqlQuery($query) {
        $result = mysqli_query($link,$query); 
        return $result;
    }
    ?>
    

    的index.php

        <?php
        include "header.php";
        include "function.php";
        $sql         =  "SELECT * FROM `posts`";
        mysqlQuery($sql);
        ?>
    

    我得到这样的错误; “/dev/www/folder_path/function.php上的未定义变量:链接 ...” 我不知道我的代码有什么问题。我知道这是一个非常基本的问题,但我仍然无法找到解决方案。 我也尝试添加行“require('config.php');”在function.php中 请帮忙。提前谢谢。

2 个答案:

答案 0 :(得分:0)

你在这里使用一个函数:

function mysqlQuery($link, $query) {
    $result = mysqli_query($link,$query); 
    return $result;
}

mysqlQuery($link, $sql);

在该范围内, $ link 未知,请将该链接作为参数进行操作。

http://php.net/manual/en/language.variables.scope.php

答案 1 :(得分:0)

您还需要传递连接,因为它超出了范围:

<强> function.php

function mysqlQuery($query, $link) {
                          // ^ this one also
    $result = mysqli_query($link, $query); 
    return $result;
}

<强>的index.php

$sql = 'SELECT * FROM `posts`';
mysqlQuery($sql, $link);