1

私はMysqlでZendフレームワークを使用しています。私のアプリケーションは、csv ファイルから mysql データベースにデータをロードします。表には 2 つの列 (idおよびname) があります。アプリケーションはfile_get_contentscsv ファイルの読み取りに使用し、Zend_Db_Table の $this->insert($data) を使用します。このファイルには、表と同様の列が 2 つだけあります。

私が直面している問題は、データの挿入中に約 500 行しか挿入されないことです。残りの行はデータベースに挿入されません。ブラウザーにエラーは表示されず、アプリケーションは何事もなかったかのように動作します。別のデータで試しましたが、問題は同じです。

$file = file_get_contents($filename, FILE_USE_INCLUDE_PATH);
$lines = explode("\n", $file);
$i=1;
for($c=1; $c < (count($lines)-1); $c++) {
list($field1, $field2) = explode(",", $lines[$i]);
$borrower= new Application_Model_DbTable_TempB();
$borrower->uploadborrower($field1, $field2); 
$i++; 

uploadborrower 関数は、単純に配列 $data を作成し、this->insert($data)– Aを使用して挿入します

問題の場所と問題の解決方法を見つけるのを手伝ってくれる人はいますか?

4

2 に答える 2

1
$file = file_get_contents($filename, FILE_USE_INCLUDE_PATH);
$lines = explode("\n", $file);
set_time_limit(0);
$i=1;
for($c=1; $c < (count($lines)-1); $c++) {
list($field1, $field2) = explode(",", $lines[$i]);
$borrower= new Application_Model_DbTable_TempB();
$borrower->uploadborrower($field1, $field2); 
$i++; 
于 2012-11-01T09:21:54.663 に答える
1

タイムアウトの問題でしょうか?CSV が大量の場合、発生する可能性があります。

試す:

set_time_limit(0);

コードを実行する前に。

于 2012-10-31T11:07:19.387 に答える