繁体   English   中英

当我将 'mysqli_connect' 和 'mysqli_query' 放在不同页面时出现 mySqli 错误

[英]mySqli Error when I put the 'mysqli_connect' and the 'mysqli_query' in different pages

为什么当我将“源 1”放在一页中并将“源 2”放在另一页(并使用“include()”)时,它对我不起作用?

但是当我将“源 1”和“源 2”放在同一页面时,它工作正常。

我检查了一下,对“include()”的调用很好。 包含打开“源 1”所在的页面。

来源 1:

$link = mysqli_connect("localhost","root","","talkbox") or die("Error " . mysqli_error($link));

来源2:

$query = "INSERT INTO $element[0] ($element[1]) VALUES ($element[2])";
mysqli_query($link, $query) or die('Eror: ' . mysqli_error($link));     // this is line 57. here i have the eror.

这是我看到的错误:

注意:未定义变量:链接在 C:\\Program Files (x86)\\EasyPHP-DevServer-14.1VC9\\data\\localweb\\my Portable files\\TDB\\manager.php 第 57 行

警告:mysqli_query() 期望参数 1 为 mysqli,在 C:\\Program Files (x86)\\EasyPHP-DevServer-14.1VC9\\data\\localweb\\my Portable files\\TDB\\manager.php 中给出的 null 行 57

注意:未定义变量:链接在 C:\\Program Files (x86)\\EasyPHP-DevServer-14.1VC9\\data\\localweb\\my Portable files\\TDB\\manager.php 第 57 行

警告:mysqli_error() 期望参数 1 为 mysqli,C:\\Program Files (x86)\\EasyPHP-DevServer-14.1VC9\\data\\localweb\\my Portable files\\TDB\\manager.php 中第 57 行给出的 null 错误:

编辑:

我将“源 2”放在函数中。 我看到当我没有把它放在一个函数中时,源代码运行良好。 所以我想我知道如何解决这个问题。

这是“来源 2”的完整来源:

include("config.php");

function ab() {
    $query = "INSERT INTO mem (nic, email) VALUES ('aa','xx')";
    mysqli_query($link, $query) or die('Eror: ' . mysqli_error($link));
}

ab();

“源 1”在 config.php 中

编辑:谢谢大家,我解决了问题!

尝试将连接保存在全局变量中:

$GLOBALS['link'] = mysqli_connect("localhost","root","","talkbox") or die("Error " . mysqli_error($link));

然后您可以在脚本中的任何位置访问它。 您得到错误的原因可能是变量$link超出范围。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM