|
|
|
| Всем привет !
Заполняю базу из файла sql Читаю из файла с помощью $dat=file('test.sql');
объединяю элементы массива $zip=implode($dat);
выполняю запрос
mysql_query("'".mysql_escape_string($zip)."'") or die("Query failed : " . mysql_error());;
Проблемма в том что конец строки опредиляестся символом \r\n
и получается ошибка
Query failed : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''-- \r\n-- Table structure for table `zone_vertices`\r\n-- \r\nDROP TABLE IF EXI' at line 1
|
и мне никак неудается удалить его . | |
|
|
|
|
|
|
|
для: dima2207
(26.05.2008 в 19:47)
| | Что , неужели никто неподкажет как заполнить бд из файлов ? там их 159 штук и весом 12метров , нехотелось бы в ручную заполнять ! | |
|
|
|
|
|
|
|
для: dima2207
(29.05.2008 в 02:35)
| | применить phpMyAdmin (вкладка IMPORT)
либо (если есть доступ) воспользоваться к command-line-клиентом
mysql -u user -ppass dbname < text.sql | |
|
|
|
|
|
|
|
для: dima2207
(26.05.2008 в 19:47)
| |
<?
// подключение к базе//
// имя файла
$filename = "test.sql";
// открываем его и читаем в буфер
$fp = fopen($filename, "r");
$contents = fread($fp,filesize($filename));
fclose($fp);
// Разбиваем содержимое файла по точке с запятой
$quer = preg_split("#;[\s]*\r\n)#is", $contents);
// Выполняем SQL-запросы
foreach($quer as $query)
{
if(!mysql_query($query)) exit(mysql_error());
}
?>
|
| |
|
|
|
|
|
|
|
для: chexov
(29.05.2008 в 12:01)
| | Что Вы будете делать с дампом, в котором точка с запятой присутствует в текстовых полях, как обычный знак препинания? | |
|
|
|
|
|
|
|
для: Trianon
(29.05.2008 в 14:15)
| | этого сказано не было:) нужно будет искать другой способ | |
|
|
|
|
|
|
|
для: dima2207
(26.05.2008 в 19:47)
| | -- \r\n-- - это же комментарии, все эти строки можно удалить из test.sql, будут указания на другие ошибки. | |
|
|
|