gpt4 book ai didi

php - 如何从 SQL 中的 View 中进行 SELECT? (一般错误 : 1615 Prepared statement needs to be re-prepared)

转载 作者:行者123 更新时间:2023-11-29 01:50:10 28 4
gpt4 key购买 nike

更新:查询工作正常,如下所示;当我从 View 中选择时,错误只会出现。

$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 我创建的 View 时收到以下错误。 (从表格中选择非常有效)。

Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1615 Prepared statement needs to be re-prepared'

我在使用时没有问题

SELECT * FROM Module

这是我的查询:

$query = "
SELECT * FROM module_info
";

$result = $DBH->prepare($query);
$result->execute();
$data = $result->fetchAll();

我创建的 View :

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);

最佳答案

本例的解决方案如下:

需要启用对准备好的语句的模拟。

在连接文件中,如下一行

PDO::ATTR_EMULATE_PREPARES   => false,

需要这样修改:

PDO::ATTR_EMULATE_PREPARES   => true,

在其他情况下,解决方案似乎是增加 table_definitition_cache

关于php - 如何从 SQL 中的 View 中进行 SELECT? (一般错误 : 1615 Prepared statement needs to be re-prepared),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47539775/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com