簡體   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