php - mysqli 查询以搜索整个数据库
问题描述
我读了一些答案,说要使用 phpMyAdmin 上的搜索选项在数据库的所有表中查找某个字符串。我尝试使用 phpMyAdmin 执行的查询在 php 脚本中查找字符串。由于查询执行时间超过 30 秒,我不断收到致命错误。我使用的代码是:
$query="SELECT * FROM `classification`.`class` WHERE (CONVERT(`phylum_id` USING utf8) LIKE '%enteropneusta%' OR CONVERT(`subphylum_id` USING utf8) LIKE '%enteropneusta%' OR CONVERT(`superclass_id` USING utf8) LIKE '%enteropneusta%' OR CONVERT(`class_id` USING utf8) LIKE '%enteropneusta%' OR CONVERT(`class_name` USING utf8) LIKE '%enteropneusta%')";
$result=mysqli_query($query);
while($result){
print_r($result);
}
再次需要帮助!我设法在 phpmyadmin 的查询生成器上提出了这个查询
SELECT
* FROM
`table1`,
`table2`,
`table3`,
`table4`,...
`table12`,
WHERE
(
(
`table1`.`columnlast` LIKE '%string%'
) OR(
`table2`.`columnlast' LIKE '%string%'
) OR(
`table3`.`columnlast` LIKE '%string%'
)...
) OR(
`table12`.`columnlast` LIKE '%string%'
)
这需要超过 3-4 分钟才能运行。有什么办法可以缩短时间吗?
解决方案
所以,一直忙于自己项目的教授终于腾出一些时间来帮助我,这就是我们使用的查询。
SELECT columnName1 as result FROM tableName1 WHERE columnName1 LIKE '%string%'
UNION SELECT columnName2 FROM tableName2 WHERE columnName2 LIKE '%string% UNION
...
UNION
SELECT columnName12 as result FROM tableName12 WHERE columnName12 LIKE '%string%'
推荐阅读
- javascript - 在 django 模板中包含 javascript 游戏的问题
- python - keras 安装错误:没有名为“tensorflow.python.tools”的模块
- validation - JDK-BUG Java 验证带有验证器 ID 问题的 xml
- deep-learning - 我应该使用什么度量来比较两个图像的两个特征向量?
- ios - 如何向 iOS 应用程序添加法律免责声明?
- google-bigquery - 访问被拒绝:用户没有 bigquery.jobs.create 权限
- html - 如何绑定多个对象并从 Springboot2 后端传递到 Angular 9 前端
- python - keras sparse_categorical_crossentropy 损失函数中的错误
- javascript - React:在搜索框中过滤
- ios - 如何取消转移的 iOS 应用程序?