2013-12-19 144 views
0

我得到這個消息:注意:未定義指數:CON上線/var/www/lit/adddata.php 93

Notice: Undefined index: con in /var/www/lit/adddata.php on line 93 

與此代碼:

$eventLocation = mysqli_query($GLOBALS['con'],"SELECT VENUE_NAME FROM VENUE WHERE VENUE_CODE = '$eventVenueCode'"); 

我不明白如果我使用的消息:

global $con: 

$eventLocation = mysqli_query($con,"SELECT VENUE_NAME FROM VENUE WHERE VENUE_CODE = '$eventVenueCode'"); 

是在第一個例子中使用的$GLOBALS不當?

回答

3

變量$GLOBALS本身是全球性的(不需要global $GLOBALS),但它並沒有被其他地方使用的變量神奇地填充。

您必須$GLOBALS["con"] = /* .. */

也可手動設置,不要使用全局變量。使用私有變量。使用全局變量是總是不合適。

+0

我認爲在這種情況下,使用全局變量的數據庫連接更糟 – Zarathuztra

+0

大多數應用程序只有一個數據庫連接,所以這是一個非常無辜的情況,但最好是考慮依賴關係。如果你有一個不依賴於數據庫的函數,你不希望它做任何讀/修改。 – Halcyon

+0

我相信在函數外面賦值$ con神奇地將con作爲鍵的$ GLOBALS數組填充。 – user2505329