![]() |
Памагите Insert table.
Привет Кодерам!
версия PHP 4.4.1 Вопрос возник. Обрабатываю TEXT файл по строчно, полученные записи добавляю с mySQL таблицу код (см.ниже). ! но при добавлении большого колличествва записей. программа добавляет только первые 10-15 потом выдаёт ошибку по какойто таймаут в 30 секунд. я уменьшил загружаемые файлы. разбив их на файлы меньшего размера. приэтом получается принять только первый файл в котором порядка 30 позиций. При повторном добавлении уже следующего файла - получаю ошибку вставки "ERROR insert ..." что тут мржно сделать? <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> </head> <?PHP //убираем системные сообщения Error_Reporting(E_ALL & ~E_NOTICE); //подключаемся к серверу include_once "access.php"; //название файла делим на две части. //первая часть это идентификатор [ИМЯ ТАБЛИЦЫ] $TN=explode("-",$file); //делим на РАЗДЕЛЫ $TABLENAME=$TN[0]; if ($func=="clear") { //-------------------------- CLEAR TABLE mysql_query("TRUNCATE $TABLENAME"); } if ($func=="create") { //-------------------------- CREATE TABLE $query="CREATE TABLE $TABLENAME( id int(5) NOT NULL AUTO_INCREMENT, artikle TEXT(100) NOT NULL DEFAULT '', razdel TEXT(100) NOT NULL DEFAULT '', made TEXT(100) NOT NULL DEFAULT '', name TEXT(100) NOT NULL DEFAULT '', param TEXT(2000) NOT NULL DEFAULT '', PRIMARY KEY (id) )TYPE=MyISAM"; if (mysql_query($query)) echo "Create TABLE id: ".$TN2."<br>\n"; else echo "ERROR create table"; } //определяем к какой таблице относится товар //если нет таблицы с таким именем (например 'BA') то создаём $i2=0; $PARTY=array(); $ONE_TWO=array(); $NOM=0; if ($fp=fopen($file,"r")) do { // $F - передаём аргументом $i2=0; $str=fgets($fp); $LINE=explode("|",$str); //делим на РАЗДЕЛЫ $LINE_COUNT=count($LINE); for ($i = 0; $i <= $LINE_COUNT; $i++) { $ONE_TWO=explode("#",$LINE[$i]); //записываем по строчно в таблицы. //название таблицы(куда писать) определяем по НУЛЕВОЙ части. //если таблицы нет то создаём её. //подготовка данных для записи $i2=$i2+1; if ($i2==1) { // Артикл $artikle=$ONE_TWO[0].'-'.$ONE_TWO[1]; } if ($i2==2) { // раздел $razdel=$ONE_TWO[1]; } if ($i2==3) { // производитель $maden=$ONE_TWO[1]; } if ($i2==4) { // наименование $name=$ONE_TWO[1]; } if ($i2>4) { // описание $rambler=$rambler.$ONE_TWO[0]."#".$ONE_TWO[1]."|"; } } // лог на экран print $TABLENAME.". ".$razdel." ".$maden." ".$name." "; // процесс ДОБАВЛЕНИЯ $query = "insert into $TABLENAME(artikle,razdel,made,name,param) values ('$artikle','$razdel','$maden','$name','$rambler')"; if (mysql_query($query)) echo " ADD complete<br>\n"; else echo " ERROR insert table<br>\n"; // очищаем для новой позиции $Rambler=""; $razdel=""; $maden=""; $name=""; $artikle=""; } while (!feof($fp)); ?> |
ну чё. никто незнает чтоли?????????????
|
ну вы нубы. я сам разобрался. а вам нескажу.
|
Вам ответят, когда захотят.
Если не ответили — значит ваш вопрос некорректен или вам просто не хотят отвечать. |
да просто незнают. )
|
А то ! Мы тут до сих пор в ушанках ходим и на кои-8 разговариваем...
|
| Часовой пояс GMT +4, время: 14:20. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.