PHP Mysqli SELECT from Views 不起作用

标签 php mysql sql database mysqli

我已经通过 PHPMyAdmin 在我的 MySQL 数据库上创建了一个非常简单的 View 。 View 工作正常,目前只有:

SELECT * FROM MyTable

在 PHPMyAdmin 中我可以看到这个查询选择的所有记录。

在我的 PHP 代码中,我使用了以下代码:

 $stmt = $this->conn->prepare("SELECT * FROM MyTable");
 $stmt->execute()
 .......

这非常有效,我可以读取所有记录,但是如果我写:

 $stmt = $this->conn->prepare("SELECT * FROM MyView");
 $stmt->execute()
 .......

我获得了 0 条记录。

我只是重复:

  • View 运行良好,现在非常简单,只需一个 SELECT * FROM MyTable;
  • 当我从表中选择时,我的 PHP 代码可以正常工作,但当我从 View 中选择时似乎不起作用。

怎么了?

提前谢谢你。

编辑:异常(exception)情况如下:

类型: mysqli_sql_exception

代码:1615

消息:准备好的语句需要重新准备

最佳答案

我们怀疑在准备或执行 SQL 语句时发生错误。

我们怀疑您的代码没有检查错误情况。 (在发布的代码片段中没有迹象表明进行了此类检查。)

我们建议您首先在代码中修复该问题。

至于发生了什么错误,没有足够的信息来诊断它。您说 PHP 代码运行的 完全 相同的 SQL 文本在另一个环境中成功执行。这排除了标识符( View 名称)myviewMyView 中区分大小写的问题。我们猜测您正在连接同一个数据库,使用来自两个环境的同一个 MySQL 用户(用户和主机),这排除了权限上的差异。

关于PHP Mysqli SELECT from Views 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34835142/

相关文章:

Java:在 SQL 数据库中对事件执行某些操作?

php 为什么没有带有 jsonUnserialize 方法的\jsonUnserialized 接口(interface)?

php - 将 PHP 分页添加到搜索结果

MySql 根据列标准明确连接行

MySQL 许可

php - 从 MySQL 查询中添加

sql - 使用 DAX 进行左连接

php_curl 无法运行 https (Google+ API)

php - 在 JavaScript 和 PHP 中使用欧元符号

php - 商业 Web 应用程序 PHP -