[請益] 跨資料表的查詢無法成功顯示
各位先進好:
小弟做了一個跨資料表的查詢如下 (設為$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
推
09/07 01:38, , 1F
09/07 01:38, 1F
推
09/07 08:46, , 2F
09/07 08:46, 2F