mysqli查询来搜索整个数据库

jucafojl  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(281)

我读了一些关于使用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分钟以上的时间。有没有办法缩短时间?

idv4meu8

idv4meu81#

有几种方法可以延长执行超时时间,在php.ini文件中可以设置max\ u execution\ u time,http://php.net/manual/en/info.configuration.php
你可以在一个单独的页面上

set_time_limit(240);

以秒数作为参数。
http://php.net/manual/en/function.set-time-limit.php

qni6mghb

qni6mghb2#

所以,我的教授,他一直忙于自己的项目,终于设法腾出一些时间来帮助我,这是我们使用的查询。

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%'

相关问题