Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / PHP PDO не работают запросы после CREATE TEMPORARY TABLE и UPDATE / 4 сообщений из 4, страница 1 из 1
27.06.2015, 16:32:06
    #38994305
zhenya31
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP PDO не работают запросы после CREATE TEMPORARY TABLE и UPDATE
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
$action = $pdo->prepare("
CREATE TEMPORARY TABLE `temp` AS (SELECT * FROM `table` WHERE `id` = 1);
UPDATE `temp` SET id=NULL;
INSERT INTO `table` SELECT * FROM `temp`;
DROP TABLE `temp`;
SELECT LAST_INSERT_ID();
");
$action->execute();
echo $action>fetchColumn();


При таком запросе появляется ошибка: Call to undefined function fetchColumn();

Eсли убрать что-то одно из двух первых строк в запросе, то последний SELECT запрос проходит нормально и выводится результат.

Причем если выполнить такой запрос в phpmyadmin то также вернется результат SELECT запроса.
...
Рейтинг: 0 / 0
27.06.2015, 16:53:46
    #38994310
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP PDO не работают запросы после CREATE TEMPORARY TABLE и UPDATE
zhenya31При таком запросе появляется ошибка: Call to undefined function fetchColumn();Логично. Вы переменную $action сравниваете с результатом вызова функции fetchColumn(), а такой нету. Этот язык я не знаю, но по аналогии с другими строками могу предположить, что в последней строке должно быть так:
Код: sql
1.
echo $action->fetchColumn();

Хотя что это даст - понятия не имею.

zhenya31Eсли убрать что-то одно из двух первых строк в запросе, то последний SELECT запрос проходит нормально и выводится результат.Обычно не допускается выполнять несколько SQL-запросов за один вызов. И, кстати, точка с запятой в конце запросов не нужна.

zhenya31Причем если выполнить такой запрос в phpmyadmin то также вернется результат SELECT запроса.Не верю. Т.к. показанный текст не является корректным SQL-запросом.
...
Рейтинг: 0 / 0
28.06.2015, 14:59:54
    #38994499
zhenya31
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP PDO не работают запросы после CREATE TEMPORARY TABLE и UPDATE
Код: php
1.
echo $action->fetchColumn();


Тут я действительно описался, при верном написании идет ошибка: "Call to a member function fetchColumn() on a non-object"

miksoftНе верю. Т.к. показанный текст не является корректным SQL-запросом.
Что значит "не верю", зачем мне врать? Можете провести аналогичное сами, т.к. подобное можно сделать с любой таблицей.
И, с чего это некорректный запрос?

miksoftОбычно не допускается выполнять несколько SQL-запросов за один вызов. И, кстати, точка с запятой в конце запросов не нужна.

Эти запросы я вызывал и по отдельности, результат абсолютно тот же.
...
Рейтинг: 0 / 0
28.06.2015, 16:38:46
    #38994529
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP PDO не работают запросы после CREATE TEMPORARY TABLE и UPDATE
zhenya31,

тут не нужно
fetchColumn();
делать, у запроса нет набора данных.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / PHP PDO не работают запросы после CREATE TEMPORARY TABLE и UPDATE / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]