[請益] 呼叫程式

看板PHP作者 (archer)時間18年前 (2007/11/06 13:35), 編輯推噓2(425)
留言11則, 3人參與, 最新討論串1/1
Hi, 我有三隻程式 config.php 部份節錄 require('DB.php'); // pear DB include('functions.php'); // 自己寫的一些 function $db = DB::connect('mysql://root:@localhost/spfp'); // 連結資料庫的設定 function.php function dispQry($sql) { 部份節錄 $get_cnOdr = $db->query($sql); $cnOdrNums = $get_cnOdr->numrows(); $cnOdrRows = $db->getAll($sql); foreach ($cnOdrRows as $cnOdrRow) { #exit(); for ($cnOdrCnt=0;$cnOdrCnt<$cntCol_array;$cnOdrCnt++) { ... ... ... } // function dispQry($sql) test1.php require('config.php'); $sql="SELECT ......."; dispQry($sql); 因為用來顯示資料用的 dispQry 這段程式常常會被用到,所以想寫成 funcion 這樣我只要在其他的地方先將 sql 寫好,用 dispQry($sql) 的方法,應該可以做到 用同一段程式碼,顯示不同資料 <- 理想狀況 但是我執行 test1.php 時,會有錯誤訊息 Fatal error: Call to a member function on a non-object in /var/www/spfp/inc/functions.php on line 62 上面的錯誤訊息指的是 $get_cnOdr = $db->query($sql); 應該是 query 這一個 function 找不到 我不懂的是,我明明有在 config.php 中 require('DB.php') 如果我把 function dispQry 的程式寫到 test1.php 就不會有錯誤訊息 ... 是不是有什麼地方我沒有搞懂啊 ... 囧rz 還是有什麼更好的方法可以用呢? 請各位前輩指點一下... m(_ _)m 謝謝 ... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.130.203.236 ※ 編輯: aeolus0829 來自: 220.130.203.236 (11/06 13:50)

11/06 14:50, , 1F
他的意思是你的$db不是一個物件
11/06 14:50, 1F

11/06 14:50, , 2F
$db = DB::connect('mysql://root:@localhost/spfp');
11/06 14:50, 2F

11/06 14:51, , 3F
上面這個connect的function是create an object?
11/06 14:51, 3F

11/06 14:51, , 4F
很可能是沒在 function 裡設好 global
11/06 14:51, 4F

11/06 14:52, , 5F
補充: 不只是很可能, 應該就是醬 XD
11/06 14:52, 5F

11/06 14:58, , 6F
XD 原來如此.... 我再去 php.net 閉關一下好了
11/06 14:58, 6F

11/06 14:58, , 7F
感謝樓上的各位前輩提醒 m(_ _)m
11/06 14:58, 7F

11/06 15:09, , 8F
謝謝 clifflu 的水球,我收到了 ^ ^
11/06 15:09, 8F

11/06 15:15, , 9F
好神奇..在function{}裡加了 global $db 就可以了 ^ ^
11/06 15:15, 9F

11/06 15:22, , 10F
自推太多了.. 噓一些掉
11/06 15:22, 10F

11/06 16:21, , 11F
11/06 16:21, 11F
文章代碼(AID): #17B_q9Av (PHP)
文章代碼(AID): #17B_q9Av (PHP)