作者aeolus0829 (archer)
看板PHP
标题[请益] 呼叫程式
时间Tue Nov 6 13:35:02 2007
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)
1F:推 kasase:他的意思是你的$db不是一个物件 11/06 14:50
2F:→ kasase:$db = DB::connect('mysql://root:@localhost/spfp'); 11/06 14:50
3F:→ kasase:上面这个connect的function是create an object? 11/06 14:51
4F:推 clifflu:很可能是没在 function 里设好 global 11/06 14:51
5F:→ clifflu:补充: 不只是很可能, 应该就是酱 XD 11/06 14:52
6F:推 aeolus0829:XD 原来如此.... 我再去 php.net 闭关一下好了 11/06 14:58
7F:→ aeolus0829:感谢楼上的各位前辈提醒 m(_ _)m 11/06 14:58
8F:→ aeolus0829:谢谢 clifflu 的水球,我收到了 ^ ^ 11/06 15:09
9F:推 aeolus0829:好神奇..在function{}里加了 global $db 就可以了 ^ ^ 11/06 15:15
10F:嘘 aeolus0829:自推太多了.. 嘘一些掉 11/06 15:22
11F:嘘 aeolus0829: 11/06 16:21