-1
我開始使用PHP和Oracle一起使用ODBC命令。我用odbc_exec來查詢數據庫,這似乎工作。PHP ODBC返回所有記錄
我想將數據集打印到文本文件。我可以寫入文本文件,但出於某種原因,我只能從表中取回1條記錄/行。
一個查詢特別返回超過100條記錄。我希望能夠在文本文件中打印所有100條記錄。
我已經在網絡上研究過了,而且我已經接近完成這項工作。實際上,我可以將所有記錄打印到網頁上。我無法將所有記錄都存入文本文件。
請參閱下面的代碼,並告訴我缺少什麼。
<?php
$voyage = $_POST['voyage'];
$query = "SELECT * FROM voyageTable WHERE voyage = '".$voyage."'";
$result = odbc_exec($connect, $query);
while($row = odbc_fetch_array($result)) // have tried odbc_fetch_row already
{
$fullName = odbc_result($result, 1);
}
$dateFile = "CMDU-".$voyage."-".date('dmY').".txt";
$dataString = $fullName . "\n";
$fWrite = fopen($dateFile, "a");
$wrote = fwrite($fWrite, $dataString);
fclose($fWrite);
?>
我知道我已經接近了。
我改變了無數次while循環。我也試圖做到這一點:
<?php
while(odbc_fetch_array($result))
// ...
?>
請幫忙。 這也是不成功的。
可能的旁註? '$ query =「SELECT * FROM voyageTable WHERE voyage ='」。$ voyage。「';'缺少結尾''',如'$ query =」SELECT * FROM voyageTable WHERE voyage ='「。$ voyage。'' 「;' - 注意語法高亮關閉了?如果是拼寫錯誤,請修改您的問題。如果不是,那將是一個問題。 –
更簡單的解決方案是放棄連接,並執行此操作:'$ query =「SELECT * FROM voyageTable WHERE voyage ='$ voyage';」;';' – JakeGould
您只是用最近的結果覆蓋'$ fullName'。 –