gpt4 book ai didi

if 语句中的 PHP 数据库连接

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

如果满足 if 语句中的条件,我将尝试连接到数据库:

if ($check == 1){
require_once('Connections/connect.php');
mysql_select_db($database_lg, $lg);
$query = "SELECT token FROM tbltokens WHERE name = '$name'";
$result = mysql_query($query, $lg) or die(mysql_error());
}

如果我将相同的代码放在 if 语句之外,它就可以正常工作。一旦我将它包装在 if 语句中,我就会收到错误:“警告:mysql_select_db():提供的参数不是有效的 MySQL-Link 资源......”该错误适用于代码中的第 2 行和第 4 行。

注意事项:

  1. 我发现了一个类似的问题,解决方案是在 if 语句中要求数据库连接,我已经这样做了。

  2. 我意识到 mysql_* 函数已被弃用。这个站点上有大量的 mysql_* 函数,我不得不忍受更长的时间。

提前谢谢你。

编辑:上面代码中提到的 connect.php 如下所示:

$hostname_lg = "xxx";
$database_lg = "xxx";
$username_lg = "xxx";
$password_lg = "xxx";
$lg = mysql_pconnect($hostname_lg, $username_lg, $password_lg)
or trigger_error(mysql_error(),E_USER_ERROR);

这可能不是很相关,因为当 if 语句不存在时连接会成功。它仅在示例中的 if 语句中才会失败。

最佳答案

您的 if 语句是否在函数内?每个函数在 php.ini 中都有自己的作用域。您收到的错误使它看起来像您传入的参数 $database_lg, $lg 未定义,这意味着它们可能超出范围。您应该通过调用 global 确保变量 $database_lg, $lg 可见:

if ($check == 1){
global $database_lg;
global $lg;
...
}

此外,将 require_once 放在代码的顶部(而不是在 if 语句中)。

关于if 语句中的 PHP 数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37868364/

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