在phpmyadmin中执行准备好的语句查询时遇到问题

时间:2013-09-20 13:28:32

标签: mysql 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中使用类似的表模式运行这个类似的查询时,它不起作用。 我没有得到任何类型的错误,但像“查询已成功执行”这样的简单消息。 我没有看到任何结果或任何错误。请帮助。

1 个答案:

答案 0 :(得分:0)

这在phpMyAdmin 4.0.6中对我来说很好用;我看到了三排结果。我正在使用PHP 5.5.3和MySQL 5.5.31以及mysqli扩展。

然而我第二次尝试并得到了:

  

#1243 - 给予EXECUTE的未知预处理语句处理程序(stmt)。