我正在更新现有代码。我正在尝试使用“ mysqli ”连接数据库。我有以下文件:
的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中 请帮忙。提前谢谢。
答案 0 :(得分:0)
你在这里使用一个函数:
function mysqlQuery($link, $query) {
$result = mysqli_query($link,$query);
return $result;
}
mysqlQuery($link, $sql);
在该范围内, $ link 未知,请将该链接作为参数进行操作。
答案 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);