Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
10 / 10 / 3
Регистрация: 01.09.2011
Сообщений: 92

Запрос в СУБД выполняется, а через скрипт - "Ошибка в синтаксисе запроса к БД"

23.07.2012, 12:28. Показов 1619. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я в замешательстве...
MySQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
CREATE TEMPORARY TABLE IF NOT EXISTS genrefilms (
    id INT(10) NOT NULL AUTO_INCREMENT,
    category VARCHAR(50) NOT NULL,
    film TINYTEXT NOT NULL,
    PRIMARY KEY(id));
INSERT INTO genrefilms(film)
SELECT films.name 
FROM films 
INNER JOIN cat_film
    ON films.id = cat_film.id_film
LEFT JOIN categories
    ON cat_film.id_cat = categories.id
WHERE categories.name = 'Комедии'
GROUP BY films.name;
UPDATE genrefilms
    SET category=(
        SELECT GROUP_CONCAT(categories.name SEPARATOR ', ')
        FROM films
        INNER JOIN cat_film
            ON films.id = cat_film.id_film 
        LEFT JOIN categories
            ON cat_film.id_cat = categories.id
        WHERE films.name=film);
SELECT * FROM genrefilms
...этот запрос отлично выполняется в phpmyadmin, а mysql_query() выдаёт: "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 'INSERT INTO genrefilms(film) SELECT films.name FROM films INNER JOIN cat_fi' at line 6".
Вывожу через echo запрос на экран, копи/паст в phpmyadmin - работает!!! И в строчку запрос писал и trim() ставил - не работает через скрипт и всё тут.
Это ли не ЧУДО?
Всю бд не привожу, есть ли смысл? М.б. кто сталкивался с таким?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.07.2012, 12:28
Ответы с готовыми решениями:

Ошибка в синтаксисе запроса
Доброго времени. Подскажите в чем ошибка. procedure TForm1.sSpeedButton4Click(Sender: TObject); var i:Integer; ...

Ошибка в синтаксисе запроса
Привет всем! Делаю такой запрос: SELECT FROM WHERE LIKE 'A%' LIMIT 5 ...мне выдает ошибку "Syntax error (missing...

Ошибка в синтаксисе запроса
Добрый день! Имеется такой запрос $query = "SELECT inc.id, inc.regnumber AS reg, inc.dateIn AS datein, org.name AS orgname,...

5
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
23.07.2012, 13:29
ну так тут 4 запроса , их по отдельности надо отсылать
SQL
1
2
3
4
5
6
CREATE TEMPORARY TABLE IF NOT EXISTS genrefilms (
    id INT(10) NOT NULL AUTO_INCREMENT,
    category VARCHAR(50) NOT NULL,
    film TINYTEXT NOT NULL,
    PRIMARY KEY(id)
)
SQL
1
2
3
4
5
6
7
8
9
INSERT INTO genrefilms(film)
SELECT films.name 
FROM films 
INNER JOIN cat_film
    ON films.id = cat_film.id_film
LEFT JOIN categories
    ON cat_film.id_cat = categories.id
WHERE categories.name = 'Комедии'
GROUP BY films.name;
SQL
1
2
3
4
5
6
7
8
9
UPDATE genrefilms
    SET category=(
        SELECT GROUP_CONCAT(categories.name SEPARATOR ', ')
        FROM films
        INNER JOIN cat_film
            ON films.id = cat_film.id_film 
        LEFT JOIN categories
            ON cat_film.id_cat = categories.id
        WHERE films.name=film)
SQL
1
SELECT * FROM genrefilms
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
23.07.2012, 13:42
http://www.php.net/manual/ru/f... -query.php
mysql_query() посылает один запрос (посылка нескольких запросов не поддерживается) активной базе данных сервера, на который ссылается переданный дескриптор link_identifier.
0
10 / 10 / 3
Регистрация: 01.09.2011
Сообщений: 92
23.07.2012, 14:05  [ТС]
Цитата Сообщение от crautcher Посмотреть сообщение
ну так тут 4 запроса , их по отдельности надо отсылать
Вот так, что ли
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
$query = "CREATE TEMPORARY TABLE IF NOT EXISTS genrefilms (
    id INT(10) NOT NULL AUTO_INCREMENT,
    category VARCHAR(50) NOT NULL,
    film TINYTEXT NOT NULL,
    PRIMARY KEY(id));";
$result = mysql_query($query);
if(!$result) exit("Ошибка 1 в синтаксисе запроса к БД<br />".mysql_error()."<br /><br /><br />".$query);
 
$query = "INSERT INTO genrefilms(film)
    SELECT films.name 
    FROM films 
    INNER JOIN cat_film
        ON films.id = cat_film.id_film
    LEFT JOIN categories
        ON cat_film.id_cat = categories.id
    WHERE categories.name = 'Комедии'
    GROUP BY films.name;";
$result = mysql_query($query);
if(!$result) exit("Ошибка 2 в синтаксисе запроса к БД<br />".mysql_error()."<br /><br /><br />".$query);
 
$query = "UPDATE genrefilms
    SET category=(
        SELECT GROUP_CONCAT(categories.name SEPARATOR ', ')
        FROM films
        INNER JOIN cat_film
            ON films.id = cat_film.id_film 
        LEFT JOIN categories
            ON cat_film.id_cat = categories.id
        WHERE films.name=film);
    SELECT * FROM genrefilms";
$result = mysql_query($query);
if(!$result) exit("Ошибка 3 в синтаксисе запроса к БД<br />".mysql_error()."<br /><br /><br />".$query);
 
$query = "SELECT * FROM genrefilms";
$result = mysql_query($query);
if(!$result) exit("Ошибка 4 в синтаксисе запроса к БД<br />".mysql_error()."<br /><br /><br />".$query);
 
if(mysql_num_rows($result) > 0) { 
//...и т.д.
}
Но так тоже выдаёт ошибку, мне кажется, что временная таблица к началу второго mysql_query() уже удаляется. Или нет.
Подскажите плиз, как побороть проблему
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
23.07.2012, 15:01
Цитата Сообщение от boomrest Посмотреть сообщение
Но так тоже выдаёт ошибку,
ну так в 3ем запросе вы забыли стереть 4ый запрос , вот и ошибка
Цитата Сообщение от boomrest Посмотреть сообщение
WHERE films.name=film);
SELECT * FROM genrefilms
1
10 / 10 / 3
Регистрация: 01.09.2011
Сообщений: 92
27.07.2012, 09:40  [ТС]
Цитата Сообщение от crautcher Посмотреть сообщение
ну так в 3ем запросе вы забыли стереть 4ый запрос , вот и ошибка
Спасибо большое +1
Заработало вот так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
$query = "CREATE TEMPORARY TABLE IF NOT EXISTS genrefilms (
    id INT(10) NOT NULL AUTO_INCREMENT,
    category VARCHAR(50) NOT NULL,
    film TINYTEXT NOT NULL,
    PRIMARY KEY(id))";
$result = mysql_query($query);
if(!$result) exit("Ошибка 1 в синтаксисе запроса к БД<br />".mysql_error()."<br /><br /><br />".$query);
 
$query = "INSERT INTO genrefilms(film)
    SELECT films.name 
    FROM films 
    INNER JOIN cat_film
        ON films.id = cat_film.id_film
    LEFT JOIN categories
        ON cat_film.id_cat = categories.id
    WHERE categories.name = 'Комедии'
    GROUP BY films.name";
$result = mysql_query($query);
if(!$result) exit("Ошибка 2 в синтаксисе запроса к БД<br />".mysql_error()."<br /><br /><br />".$query);
 
$query = "UPDATE genrefilms
    SET category=(
        SELECT GROUP_CONCAT(categories.name SEPARATOR ', ')
        FROM films
        INNER JOIN cat_film
            ON films.id = cat_film.id_film 
        LEFT JOIN categories
            ON cat_film.id_cat = categories.id
        WHERE films.name=film)";
$result = mysql_query($query);
if(!$result) exit("Ошибка 3 в синтаксисе запроса к БД<br />".mysql_error()."<br /><br /><br />".$query);
 
$query = "SELECT * FROM genrefilms";
$result = mysql_query($query);
if(!$result) exit("Ошибка 4 в синтаксисе запроса к БД<br />".mysql_error()."<br /><br /><br />".$query);
 
if(mysql_num_rows($result) > 0) { 
//...и т.д.
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.07.2012, 09:40
Помогаю со студенческими работами здесь

Ошибка в синтаксисе запроса....В чем именно?
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use...

Не могу запустить скрипт (ошибка в синтаксисе)
Для эксперимента решил сделать PHP-скрипт Image4Skype(да-да, такие сервисы уже есть, но мне нужно для галочки &quot;оп, это я...

Запрос к MySQL. Через WorkBench запрос выполняется, а через клиента - нет
Добрый день! Помогите с запросом! string CommandText = &quot;SELECT * FROM sensors WHERE sensors.VehID=1001317&quot;; ...

Ошибка в синтаксисе (никак не пойму какая) C# SQL ЗАПРОС
ОШИБКА: MySql.Data.MySqlClient.MySqlException: &quot;You have an error in your SQL syntax; check the manual that corresponds to your ...

Где проверить сколько выполняется запрос(скрипт)
Друзья, подскажите , где я могу отследить в lazarus сколько по времени выполняется скрипт(или запрос). То есть есть проблемный участок...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru