作者CYBASTER (鸡巴班长退伍罗)
看板PHP
标题[请益] 跨资料表的查询无法成功显示
时间Thu Sep 6 14:41:07 2007
各位先进好:
小弟做了一个跨资料表的查询如下 (设为$sql_query字串):
SELECT postoffice.date, postoffice.year, postoffice.month,
postoffice.deposit AS postoffice_deposit,
unionbank.deposit AS unionbank_deposit,
hwanan.deposit AS hwanan_deposit,
hwachaw.deposit AS hwachaw_deposit,
chinatrust.deposit AS chinatrust_deposit
FROM (((postoffice INNER JOIN unionbank ON postoffice.date = unionbank.date)
INNER JOIN hwanan ON postoffice.date = hwanan.date)
INNER JOIN hwachaw ON postoffice.date = hwachaw.date)
INNER JOIN chinatrust ON postoffice.date = chinatrust.date;
然後使用fetch_object将它输出至表格:
while($row=mysql_fetch_object($result)) //用fetch_object输出资料内容
{
echo"<td>".$row->date."</td>";
echo"<td>".$row->year."</td>";
echo"<td>".$row->month."</td>";
echo"<td>".$row->postoffice_deposit."</td>";
echo"<td>".$row->unionbank_deposit."</td>";
echo"<td>".$row->hwanan_deposit."</td>";
echo"<td>".$row->hwachaw_deposit."</td>";
echo"<td>".$row->chinatrust_deposit."</td>";
echo"<br>";
echo"</tr>";
}
出现了Warning: mysql_fetch_object():
supplied argument is not a valid MySQL result resource
in C:\AppServ\www\deposit\query.php on line 54
这样的错误讯息,而改用fetch_row或fetch_array也无法奏效,出现同样的错误讯息。
原本我以为是我的SQL语法有误,但後来却意外发现,如果我改用ADODB来做连结,
像下面这样:
include('adodb454/adodb/adodb.inc.php');
include('adodb454/adodb/tohtml.inc.php');
$conn=&ADONewConnection('mysql');
$conn->PConnect('localhost','root','7788','deposit');
$rs=$conn->Execute($sql_query);
rs2html($rs);
却可以成功显示这个查询,然而rs2html函式虽然方便,
它做出的表格自由度却比mysql_fetch_object等三种方法要低,
而且我也想不太出来为何SQL语法正确却显示失败的原因,
能否请各位大大赐教?谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.193.45.58
1F:推 cychi:你$result是什麽? 09/07 01:38
2F:推 CYBASTER:$result=mysql_query($sql_guery); 09/07 08:46