gpt4 book ai didi

php - mysqli_connect() 在存储在外部文件中的函数中不起作用

转载 作者:行者123 更新时间:2023-11-29 06:51:12 24 4
gpt4 key购买 nike

我已经在几个线程中看到了这个问题,但是我有机会尝试的建议已经奏效了。

我想将所有函数(和一些变量)存储在一个文件中,然后将该文件包含在我的页面中。这是我的 includes.php:

<?php
$title = "Whatever Tattoos";

function databaseConnect()
{
$con = mysqli_connect('127.0.0.1', "test", "test", "tats");

if (mysqli_connect_errno())
{
echo "Failed to connect to MySql: " . mysqli_connect_error();
}
}

?>

在我的测试中,我调用了 databaseConnect() 函数,但我的查询没有返回任何内容。如果我提取代码并将其直接放入我的测试文件中,它就可以工作。我认为这是变量范围的问题,但我试图返回 $con 变量 - 不行; extract() $con 变量 - 不行;并将 $con 设置为全局 - 不行。

使事情复杂化,如果我像这样创建一个变量:

$test = "this is a test";

在函数内部,我可以在我的主代码中毫无问题地调用它。我很难过。有什么想法吗?

编辑:

查询代码如下:

databaseConnect();

$result = mysqli_query($con , "select * from test");
while($row = mysqli_fetch_array($result))
{
echo $row['test_text'];
}

最佳答案

$con 是不可访问的,因为它是在函数内定义的,而不是全局定义的,这意味着它不在 mysqli_query 的可访问范围内。尝试以下操作:

$con = NULL;
function databaseConnect()
{
global $con;
$con = mysqli_connect('localhost', 'username', 'password', 'db_name');

if (mysqli_connect_errno())
{
echo "Failed to connect to MySql: " . mysqli_connect_error();
}
}

这将允许您在任何您喜欢的地方使用 $con

关于php - mysqli_connect() 在存储在外部文件中的函数中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15315552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com