嗨,各位先進大家好,肥宅我遇到一個global變數的問題
首先我有一隻pdo.php,內建一個class,前人寫的連線資訊是一隻cntdb.php
cntdb.php會宣告一個陣列$db_array,內含資料庫的連線資訊
故我再pdo的class建構子內宣告global $db_array,方便讀取資料庫連線資訊
然後member.php內有一個class member,其中有一個memberInfo的function
memberInfo我需要使用pdo連線,於是我再member.php最上層include_once pdo.php
問題來了,今天有一隻a.php呼叫$member->memberInfo();的時候,pdo建立連線失敗
最後查到是因為$db_array再那個情境下已經變空了
但是我自己寫一支很單純只有include member.php的php,一樣去呼叫
$member->memberInfo();,卻可以透過PDO連線到資料庫
我原本想說是不是$db_array這個變數重複,導致global失效
後來將$db_array改成$db_array2018、$db_array20180925等等
也一樣拿不到$db_array
不知道有沒有哪個大大可以幫忙推測或指點可能的原因?
是再想說有沒有可能是php有禁止使用global的可能?