Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用mysqli配置文件_Php_Mysql_Mysqli - Fatal编程技术网

Php 使用mysqli配置文件

Php 使用mysqli配置文件,php,mysql,mysqli,Php,Mysql,Mysqli,我正在更新我的现有代码。我正在尝试使用“mysqli”连接数据库。我有以下文件: config.php function.php index.php header.php config.php <?php $database_host = 'localhost'; $database_username = 'root'; $database_password = 'root'; $database_name = 'db_name'; ?> <?php include "co

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

  • config.php
  • function.php
  • index.php
  • header.php
  • config.php

    <?php 
    $database_host = 'localhost';
    $database_username = 'root';
    $database_password = 'root';
    $database_name = 'db_name';
    ?>
    
    <?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());
    ?>
    
    <?php
    function mysqlQuery($query) {
        $result = mysqli_query($link,$query); 
        return $result;
    }
    ?>
    
        <?php
        include "header.php";
        include "function.php";
        $sql         =  "SELECT * FROM `posts`";
        mysqlQuery($sql);
        ?>
    
    function mysqlQuery($query, $link) {
                              // ^ this one also
        $result = mysqli_query($link, $query); 
        return $result;
    }
    
    $sql = 'SELECT * FROM `posts`';
    mysqlQuery($sql, $link);
    
    
    
    header.php

    <?php 
    $database_host = 'localhost';
    $database_username = 'root';
    $database_password = 'root';
    $database_name = 'db_name';
    ?>
    
    <?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());
    ?>
    
    <?php
    function mysqlQuery($query) {
        $result = mysqli_query($link,$query); 
        return $result;
    }
    ?>
    
        <?php
        include "header.php";
        include "function.php";
        $sql         =  "SELECT * FROM `posts`";
        mysqlQuery($sql);
        ?>
    
    function mysqlQuery($query, $link) {
                              // ^ this one also
        $result = mysqli_query($link, $query); 
        return $result;
    }
    
    $sql = 'SELECT * FROM `posts`';
    mysqlQuery($sql, $link);
    
    
    
    function.php

    <?php 
    $database_host = 'localhost';
    $database_username = 'root';
    $database_password = 'root';
    $database_name = 'db_name';
    ?>
    
    <?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());
    ?>
    
    <?php
    function mysqlQuery($query) {
        $result = mysqli_query($link,$query); 
        return $result;
    }
    ?>
    
        <?php
        include "header.php";
        include "function.php";
        $sql         =  "SELECT * FROM `posts`";
        mysqlQuery($sql);
        ?>
    
    function mysqlQuery($query, $link) {
                              // ^ this one also
        $result = mysqli_query($link, $query); 
        return $result;
    }
    
    $sql = 'SELECT * FROM `posts`';
    mysqlQuery($sql, $link);
    
    
    
    index.php

    <?php 
    $database_host = 'localhost';
    $database_username = 'root';
    $database_password = 'root';
    $database_name = 'db_name';
    ?>
    
    <?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());
    ?>
    
    <?php
    function mysqlQuery($query) {
        $result = mysqli_query($link,$query); 
        return $result;
    }
    ?>
    
        <?php
        include "header.php";
        include "function.php";
        $sql         =  "SELECT * FROM `posts`";
        mysqlQuery($sql);
        ?>
    
    function mysqlQuery($query, $link) {
                              // ^ this one also
        $result = mysqli_query($link, $query); 
        return $result;
    }
    
    $sql = 'SELECT * FROM `posts`';
    mysqlQuery($sql, $link);
    
    
    
    我犯了这样的错误; “未定义变量:第行的/var/www/folder_path/function.php中的链接。” 我不知道我的代码出了什么问题。我知道这是一个非常基本的问题,但我仍然找不到解决办法。 我还尝试在function.php中添加行“require('config.php');”
    请帮忙。提前感谢。

    您在这里使用了一个函数:

    function mysqlQuery($link, $query) {
        $result = mysqli_query($link,$query); 
        return $result;
    }
    
    mysqlQuery($link, $sql);
    
    在该范围内,$link是未知的,请将链接作为参数,它应该可以工作


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

    function.php

    <?php 
    $database_host = 'localhost';
    $database_username = 'root';
    $database_password = 'root';
    $database_name = 'db_name';
    ?>
    
    <?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());
    ?>
    
    <?php
    function mysqlQuery($query) {
        $result = mysqli_query($link,$query); 
        return $result;
    }
    ?>
    
        <?php
        include "header.php";
        include "function.php";
        $sql         =  "SELECT * FROM `posts`";
        mysqlQuery($sql);
        ?>
    
    function mysqlQuery($query, $link) {
                              // ^ this one also
        $result = mysqli_query($link, $query); 
        return $result;
    }
    
    $sql = 'SELECT * FROM `posts`';
    mysqlQuery($sql, $link);
    
    Index.php

    <?php 
    $database_host = 'localhost';
    $database_username = 'root';
    $database_password = 'root';
    $database_name = 'db_name';
    ?>
    
    <?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());
    ?>
    
    <?php
    function mysqlQuery($query) {
        $result = mysqli_query($link,$query); 
        return $result;
    }
    ?>
    
        <?php
        include "header.php";
        include "function.php";
        $sql         =  "SELECT * FROM `posts`";
        mysqlQuery($sql);
        ?>
    
    function mysqlQuery($query, $link) {
                              // ^ this one also
        $result = mysqli_query($link, $query); 
        return $result;
    }
    
    $sql = 'SELECT * FROM `posts`';
    mysqlQuery($sql, $link);
    

    是否真的有必要将测试用例分为四个独立的部分?查询之后,您必须
    获取结果并
    打印它们。但错误与范围有关。为什么要否决+1、依赖注入比使用
    global
    @DanFromGermany要好。是的,基于OP目前的情况,这种方式似乎还可以