我有一个小问题。我使用PHP + MySQL管理一个巨大的数据库
我想在整个表中搜索我在输入中写的关键字。
问题是主表有+100列,所以我不得不手动编写php查询
[...]
$sql="select *
from db
where ID LIKE '%".$q."%' or USER_ID LIKE '%".$q."%' or Phone_ID LIKE '%".$q."%' or
Fax_ID LIKE '%".$q."%' or email_ID LIKE '%".$q."%' or [...]
当我修改列或添加/删除...时,这是一个混乱......
是否存在进行此搜索的其他任何方式?如果没有,我想创建一个单独的PHP函数,它获取所有列标题名称,并在里面创建一个自动填充函数。
我试图查找信息但没有成功 https://stackoverflow.com/search?q=search+entire+table
答案 0 :(得分:0)
答案 1 :(得分:0)
不幸的是,没有任何简单的方法可以做到这一点。
一个选项是选择表中的所有列,将它们作为数组获取并迭代它们并构建WHERE子句。
select column_name from information_schema.columns
where table_name = 'TableName'
这会使整个脚本变慢,如果你想这样,我会建议你使用一些缓存。
答案 2 :(得分:0)
您可以在表格上执行SHOW COLUMNS,然后遍历Field
以获取表格中的所有列名称,至少这样您就没有手动编码的混乱处理。