[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Добавление строк из файла в базу данных
Страницы: 1, 2, 3
Kusss
в базу добавились эти 100 000 строк ?
alerzo
ответил в ЛС
johniek_comp
в начало скрипта добавь

ini_set('memory_limit', '-1');
ini_set('max_execution_time', 0);

и будет сщастье

_____________
user posted image
Kusss
можно вместо запроса записать результат в файл. А потом "скормить" его Mysql через импорт.
Это по моему проще, чем бить массив на N частей.
вместо
mysql_query ($sql) or die(mysql_error() ); 

написать
file_put_contents('sql.txt', $sql);


вот как-то так
header("Content-Type: text/html; charset=utf-8");

//подключаем настройки
include 'config.php';

// Выводим все ошибки кроме нотисов
Error_Reporting(E_ALL & ~E_NOTICE);

echo 'Использовано соединение с ' .$db_host.'<br>';
echo 'База данных с именем ' .$db_name.'<br>';
echo 'Пароль базы данных ' .$db_pass.'<br>';
echo 'Работаем с таблицей ' .$db_table.'<br>';

// соединяемся с БД
$db = mysql_connect($db_host, $db_name, $db_pass) or die('Не удалось соединиться: ' . mysql_error());
echo 'Соединение успешно установлено<br>';

// выбираем таблицу с которой будем работать
mysql_select_db($db_table) or die('Не удалось выбрать базу данных');

$lines = file('mail.html');
$add = array();
foreach ($lines as $line) {
$temp_line = explode(' ', trim($line));
$temp_mail = explode('@', $temp_line[0]);
$temp_pref_pas = explode('.', $temp_mail[1]);

$add[] = "('$temp_mail[0]','$temp_pref_pas[0]', '$temp_line[1]')";
}

echo 'Массив имеет '.count($add).' ед.';
$sql = "INSERT INTO mail (name,pref,pas) VALUE ".implode(',',$add);
file_put_contents('sql.txt', $sql);
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.