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
);
SQL-запрос из файла в PHP
Код:
И имеем php-код:
Код:
$sql=file_get_contents("sql.txt");
if(!mysql_query($sql)) {
die('Запрос к базе данных не удался! Попробуйте ещё раз! Или проверьте синтаксис sql.txt!');
}
if(!mysql_query($sql)) {
die('Запрос к базе данных не удался! Попробуйте ещё раз! Или проверьте синтаксис sql.txt!');
}
Вот! И почему-то он не хочет... mysql_query возвращает false... В SQL ошибки нет! Пробовал phpMyAdmin - и как импорт из файла работает нормально запрос, и как простой запрос - тоже нормально! Чего тогда PHP выделывается??? :confused:
Попробуй разделить запрос на две транзакции. Первая - удаление старых таблиц. Вторая - создание новых.
1. Всегда делай так
Код:
$result = mysql_query($sql) or die(mysql_error());
только тогда ты поймёшь на 100% причину.
2. Если что-то с подключаемым не работает, то echo в данном случае окажет неоценимую помощь.
mysql_query() выполняет только один запрос за вызов. Поэтому он и возвращает false
А когда тогда делать групповой запрос??? Разбивать файл на секции запросов???
Цитата:
mysql_query -- Посылает запрос MySQL
речь явно идёт об одном запросе, а не о группе запросов.
изучите спецификацию функции, прежде чем задавать на форуме глупые вопросы. быстрее и полезнее для саморазвития, чем посты на форуме, сэкономите своё и чужое время.
P.S. - http://foxweb.net.ru/texts/31.htm - эта статья должна решить задачу с множественными запросами.
Разбей по символу ";", если грубо. на массив. Тримом элементы и исполни.