更新: 查询工作完美如下;当我从视图中选择时,只会出现错误。
$query = "
SELECT ModuleID, ModuleName, Credits, Lecturer, Room, EmployeeID, Forename, Surname, RoomID, RoomCode
FROM ((Module
INNER JOIN Employee ON Module.Lecturer = Employee.EmployeeID)
INNER JOIN Room ON Module.Room = Room.RoomID)
";
$result = $DBH->prepare($query);
$result->execute();
$data = $result->fetchAll();
尝试SELECT * FROM
我创建的视图时收到以下错误。 (从表中选择可以很好地工作)。
带有消息'SQLSTATE [HY000]的未捕获异常'PDOException':常规错误:1615准备好的语句需要重新准备'
使用
时没有问题SELECT * FROM Module
这是我的问题:
$query = "
SELECT * FROM module_info
";
$result = $DBH->prepare($query);
$result->execute();
$data = $result->fetchAll();
我创建的视图:
CREATE VIEW module_info
AS
SELECT ModuleID, ModuleName, Credits, Lecturer, Room, EmployeeID, Forename, Surname, RoomID, RoomCode
FROM ((Module
INNER JOIN Employee ON Module.Lecturer = Employee.EmployeeID)
INNER JOIN Room ON Module.Room = Room.RoomID);
答案 0 :(得分:3)
本例中的解决方案如下:
在连接文件中,以下行
PDO::ATTR_EMULATE_PREPARES => false,
需要像这样改变:
PDO::ATTR_EMULATE_PREPARES => true,
在其他情况下,似乎解决方案可能是增加table_definitition_cache