Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

SQL-запрос из файла в PHP

244
31 октября 2006 года
UAS
2.0K / / 19.07.2006
Короче, имеем файл sql.txt:
Код:
DROP TABLE IF EXISTS articles;
DROP TABLE IF EXISTS images;
DROP TABLE IF EXISTS var;

CREATE TABLE articles (
    id  INT(4) PRIMARY KEY NOT NULL AUTO_INCREMENT,
    title VARCHAR(255) NOT NULL,
    date CHAR(8),
    text LONGTEXT,
    short TINYTEXT,
    views INT(4) NOT NULL DEFAULT 0,
    category CHAR(1)
);

CREATE TABLE images (
    id INT(4) NOT NULL,
    path VARCHAR(255)
);

CREATE TABLE var (
    id INT(2) PRIMARY KEY NOT NULL AUTO_INCREMENT,
    title VARCHAR(50) NOT NULL,
    votes INT(4) NOT NULL DEFAULT 0
);


И имеем php-код:
 
Код:
$sql=file_get_contents("sql.txt");
if(!mysql_query($sql)) {
    die('Запрос к базе данных не удался! Попробуйте ещё раз! Или проверьте синтаксис sql.txt!');
}


Вот! И почему-то он не хочет... mysql_query возвращает false... В SQL ошибки нет! Пробовал phpMyAdmin - и как импорт из файла работает нормально запрос, и как простой запрос - тоже нормально! Чего тогда PHP выделывается??? :confused:
337
31 октября 2006 года
shine
719 / / 09.06.2006
Попробуй разделить запрос на две транзакции. Первая - удаление старых таблиц. Вторая - создание новых.
15
31 октября 2006 года
shaelf
2.7K / / 04.05.2005
2UAS гадать не хоца, но 2 совета на будующее.
1. Всегда делай так
 
Код:
$result = mysql_query($sql) or die(mysql_error());

только тогда ты поймёшь на 100% причину.
2. Если что-то с подключаемым не работает, то echo в данном случае окажет неоценимую помощь.
7.3K
02 ноября 2006 года
JB13
64 / / 05.09.2005
mysql_query() выполняет только один запрос за вызов. Поэтому он и возвращает false
244
03 ноября 2006 года
UAS
2.0K / / 19.07.2006
А когда тогда делать групповой запрос??? Разбивать файл на секции запросов???
256
03 ноября 2006 года
foxweb
1.0K / / 27.07.2005
обратимся к документации:

Цитата:
mysql_query -- Посылает запрос MySQL



речь явно идёт об одном запросе, а не о группе запросов.
изучите спецификацию функции, прежде чем задавать на форуме глупые вопросы. быстрее и полезнее для саморазвития, чем посты на форуме, сэкономите своё и чужое время.

P.S. - http://foxweb.net.ru/texts/31.htm - эта статья должна решить задачу с множественными запросами.

16K
03 ноября 2006 года
a25
18 / / 06.09.2006
[QUOTE=UAS]А когда тогда делать групповой запрос??? Разбивать файл на секции запросов???[/QUOTE]
Разбей по символу ";", если грубо. на массив. Тримом элементы и исполни.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог