gpt4 book ai didi

php - 函数中的 mysqli_connect 抛出错误

转载 作者:行者123 更新时间:2023-11-29 22:56:10 25 4
gpt4 key购买 nike

我确信这个问题很容易回答,但我不明白。当我尝试在函数中连接时,它会抛出“用户''@'localhost'访问被拒绝”错误。看起来该数组在数组中不可用,因为错误表明我没有输入用户名和密码。

代码是:

$config["mysql_host"]   = "localhost";
$config["mysql_user"] = "myusername";
$config["mysql_pass"] = "mypass";
$config["db_name"] = "mydb_name";
$config["event_tname"] = "tablename";


function get_events(){
$mysqli = mysqli_connect($config['mysql_host'], $config['mysql_user'], $config['mysql_pass'], $config["db_name"]); //connect to mysql and select the database

$sql = "SELECT * FROM ".$config["event_tname"]; //a simple query

$result = mysqli_query($mysqli, $sql) or die ("Error, please contact the provider!"/* . mysqli_error()*/); //execute

while($all_events = mysqli_fetch_assoc($result)){ //fetch and just print it
foreach($all_events as $key => $val)
echo($val." | ");
}

mysqli_free_result($result);} //END -- clear $result
events(); //just an example: call the function

我必须在阵列上更改什么?

问候,弗兰兹

最佳答案

首先你应该考虑使用面向对象的mysqli。没有理由再使用过程式风格了。

其次,全局 PHP 变量在函数内部不可用,因此您需要将数组传递给函数,如其他答案中所述。

参见this article有关 PHP 变量范围的更多信息。

恕我直言,最好的解决方案是为您的应用程序使用一个类并将配置存储为私有(private)属性。该类的方法将可以访问这些属性。

关于php - 函数中的 mysqli_connect 抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28704805/

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