[請益]用PHP批次處理MySQL data
因為我需要一個可以批次處理mysql 資料轉換的程式
( 舉例: input: IPI000123456 -> (PHP+MySQL) -> output : EX56SE )
( 想要利用程式把txt檔中的一兩千筆資料一次處理完 )
( 在後端的MySQL 跟PHP程式皆已設定成功,MySQL內的資料庫的資料也正常沒問題
可以在mysql介面底下正常select )
所以我寫了一個php 小程式,但是程式不能work
code如下,請知道的高手們幫我解惑一下 <(_ _)> 感激
<?php
$link = mysql_pconnect("xxx", "xxx", "xxx") or die; //資料庫連線
mysql_select_db("xxx") or die; //選擇資料
$maxSize = filesize("$_POST[open_file]"); //讀取檔案大小
$fileHandle = fopen("$_POST[open_file]",'r'); //開檔案
while (!feof($fileHandle))
{
$data = fgets($fileHandle, $maxSize);
echo "$data<br>"; //這一行是debug用
$query = "SELECT IPI,EntrezGene FROM ipixrefs where IPI='$data';";
echo "$query<br>"; //這一行是debug用
$result = mysql_query($query) or die;
echo "$result<br>"; //這一行是debug用
$record = mysql_fetch_row($result);
echo $record[0]."<br>"; //這一行是我要的結果
}
fclose($fileHandle);
?>
而我另外寫了一個幾乎跟上面相同程式存取同樣的資料庫,
只是html檔案裡面的form從丟檔案進去變成寫一筆text,這個程式卻可以work
( 也就是上面的code中,我是用html表單把file 輸入
而我另外寫的檔案,html表單只是拿來輸入單筆的資料 )
layout 類似下面這樣
.
.
.
IPI00328170
SELECT IPI,EntrezGene FROM ipixrefs where IPI='IPI00328170 ';
Resource id #4
IPI00180675
SELECT IPI,EntrezGene FROM ipixrefs where IPI='IPI00180675 ';
Resource id #5
.
.
.
目前知道可能的問題應該在上面code中黃色標起來的那一行
當我將'$data'; 改成實際的data(例如: IPI000328170) ,那麼程式就會跑出正常的結果
但是當我用上面的程式批次處理的時候,mysql_fetch_row 回來的東西都是null
( 不知道是不是變數宣告的問題? )
因為寫法上面應該沒有錯誤,但是又不知道邏輯上的錯誤在哪
所以還請各位指教。
--
With great power
comes great responsibility
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.55.225
※ 編輯: jansia 來自: 140.109.55.225 (04/09 16:29)
※ 編輯: jansia 來自: 140.109.55.225 (04/09 16:29)
※ 編輯: jansia 來自: 140.109.55.225 (04/09 16:30)