2013-09-20 3 views
0

У меня есть таблица с табличной схемой и подготовленный оператор.Не удалось выполнить запрос подготовленной инструкции в phpmyadmin

CREATE TABLE studentexam 
    (`ID` int, `Student` varchar(4), `Exam` varchar(2)) 
; 

INSERT INTO studentexam 
    (`ID`, `Student`, `Exam`) 
VALUES 
    (1, 'Kavi', 'BE'), 
    (2, 'MGR', 'BA'), 
    (3, 'MGR1', 'BE') 
; 

SET @sql = NULL; 
SELECT 
    GROUP_CONCAT(DISTINCT 
    CONCAT(
     'max(case when exam = ''', 
     exam, 
     ''' then student end) AS `', 
     exam, '`' 
    ) 
) INTO @sql 
from studentexam; 

SET @sql 
    = CONCAT('SELECT ', @sql, ' 
       from studentexam 
       group by id;'); 

PREPARE stmt FROM @sql; 
EXECUTE stmt; 
DEALLOCATE PREPARE stmt; 

SQL Fiddle

Проблема заключается в том, когда я запускаю этот запрос в sqlfiddle, он прекрасно работает, но когда я запускаю этот подобный запрос с аналогичной схемой таблицы в PHPMyAdmin, она Безразлично работа. Я не получаю никаких ошибок, но простое сообщение типа «Запрос выполнен успешно». Я не вижу никаких результатов или ошибок.

+0

phpmyadmin по умолчанию показывает результаты последнего оператора, и для последнего оператора нет вывода. –

ответ

0

Это отлично работает для меня в phpMyAdmin 4.0.6; Я вижу три строки результатов. Я использую PHP 5.5.3 и MySQL 5.5.31 с расширением mysqli.

Однако я попробовал второй раз и получил:

# 1243 - Неизвестный подготовленный обработчик заявление (STMT) дано ВЫПОЛНИТЬ.

Смежные вопросы