如果满足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行。 / p>
注意:
我发现了一个类似的问题,解决方案是在if语句中要求数据库连接,我已经完成了。
我意识到不推荐使用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语句中失败,如示例中所示。
答案 0 :(得分:2)
你的if语句是否在函数内?每个函数在php中都有自己的作用域。您收到的错误使其看起来像您传入的参数,$database_lg, $lg
未定义,这意味着它们可能超出了范围。您应该通过调用$database_lg, $lg
确保变量global
可见:
if ($check == 1){
global $database_lg;
global $lg;
...
}
另外,将require_once
放在代码的顶部(不在if语句中)。