gpt4 book ai didi

php - 使用 mysql 和 php 搜索除日期字段之外的整个表

转载 作者:行者123 更新时间:2023-11-30 00:00:58 25 4
gpt4 key购买 nike

我有一张大表,想一次性搜索所有字段,但有些字段是日期,因此我创建的搜索在命中这些字段时会失败。

使用此类搜索时是否可以排除某些类型的字段?

$table = 'accounts';
$condition = 'tracey';

$sql = "SHOW COLUMNS FROM accounts";

$result = mysqli_query($mysqli,$sql);

if (mysqli_num_rows($result) > 0)
{
$i=0;
while ($row = mysqli_fetch_array($result))
{
if($i==0)
{
$q="select * from ".$table." where ".$row[0]." LIKE %".$condition."%";
}
else
{
$q.=" or ".$row[0]."="." LIKE %".$condition."%";
}
$i++;
}
}

$sql = $q;
$result = mysqli_query($mysqli,$sql) or die(mysqli_error($mysqli));
$row = mysqli_fetch_array($result);
$answer = $row['phone_office'];
echo '<br><br>answer = '.$answer;

或者也许有人可以建议一种更好的方法一次性搜索表中的所有字段?

最佳答案

要排除某些类型的字段,您需要将查询SHOW COLUMNS FROM Accounts更改为以下查询:

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS 
WHERE (table_name=".$table.")AND(NOT(DATA_TYPE IN ('field_type_1','field_type_2',...)));

其中 field_type_i 是排除类型的名称(例如 'timestamp')

关于php - 使用 mysql 和 php 搜索除日期字段之外的整个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25033994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com