0
私の問題は、すべての行をインポートするときにループ中にどのように終了するかわかりません。これはDrupal 7です。whileループでTXTファイルからデータをインポートする
これを設定すると、while
の条件:while ($row = $regs->fetchAssoc())
がループの内部に入ることはありません。
私はループ破るために、この条件を使用する場合:
$cadena = array();
while (1) {
$row = $regs->fetchAssoc();
$cadena[] = $row;
if (count($cadena)<0){
break;}
を、私はこのエラーを取得する:Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 64 bytes)
完全なコードは次のとおりです。while(1) { ... }
と
$operations = array();
$items = array();
$limit = 25;
$i = 0;
$regs = db_query("SELECT * FROM {table_import_apunte} WHERE field_processed = :processed", array(':processed' => 0));
while ($row = $regs->fetchAssoc()) {
if ($i < $limit) {
$items[] = $row;
$i += 1;
} else {
$operations[] = array('csvImporter_create_nodes', array($items, 'apunte'));
$items = array();
$items[] = $row;
$i = 1;
}
}
$batch = array(
...
);