php - 当存在索引问题时,查询/准备语句中未使用索引

标签 php mysql sql error-handling

我正在尝试执行查询并收到以下错误..

7Error: No index used in query/prepared statement SELECT `id`, `category_id`, `topic_id`, `post_creator`, `post_content`, `post_date` FROM forum_posts WHERE `category_id`=? AND `topic_id`=?

我原来有这行代码...

if($stmt2 = $con->prepare("SELECT * FROM forum_posts WHERE `category_id`=? AND `topic_id`=?")) {

所以我尝试将其更改为以下内容以给它一个索引。

if($stmt2 = $con->prepare("SELECT `id`, `category_id`, `topic_id`, `post_creator`, `post_content`, `post_date` FROM forum_posts WHERE `category_id`=? AND `topic_id`=?")) {

为什么会出现这个错误?我有 php 错误报告。

error_reporting(E_ALL);
ini_set('display_errors', 1);

但是,即使我将其注释掉,错误仍然存​​在并且它终止了我的代码。任何人都知道为什么会出现此错误以及我该如何解决它?

最佳答案

根据提供的答案here :

mysqli_report(MYSQLI_REPORT_ALL ^ MYSQLI_REPORT_INDEX);

Turns off "Report if no index or bad index was used in a query" yet keeps other reporting on.

通过使用“E_ALL”,您可以报告此错误/警告。

关于php - 当存在索引问题时,查询/准备语句中未使用索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31577139/

相关文章:

PHP/MySQL 第 n 行与 DATE_SUB 等

php - 如何在 php 中获取重复的多维数组

php - 如何编写查询来选择相似的标题?

mysql - 在 MySQL 中使用 EXISTS

mysql - TRUNCATE 所有匹配名称模式的表

sql - 从表列获取值并插入到另一个表

php - 使用PHP向MYSQL数据库提交数据

mysql - SQL建表主键和外键语法

mysql - 将 MySQL DB 表/数据从本地迁移到生产服务器 Laravel

sql - 更新表中的每一行