gpt4 book ai didi

php - 在 2 列中使用 select 查找文本 mySQL/PHP

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

我正在制作一个自动完成表单并从我的数据库中请求姓名。这是我的数据库中的表

用户 ID |名字 |姓氏

我可以使用它获取“搜索词”的数据

$query = "SELECT user_id, firstname, lastname FROM users WHERE   firstname like :searchterm  ";

但我想扩展它,以便我也可以同时搜索名字和姓氏,例如搜索“John D...”。我认为有一种方法可以将两列连接起来,然后进行搜索。有人可以解释一下吗?我刚刚开始研究 mysql 的事情。

最佳答案

当您的搜索词中包含空格时,您通常需要将字符串分成几个部分,然后再将其放入查询中。如果您想匹配所有输入的搜索词,请使用 AND;如果您想匹配任何搜索词,请使用 OR。示例:

搜索:约翰·詹姆斯·史密斯

<?php

$search = "john james smith";
$bits = explode(" ", $search);
foreach($bits as $key => $bit) {
$bits[$key] = '(`field1` LIKE "' . $bit . '" AND `field2` LIKE "' . $bit . '")';
}
$sql = implode(' OR ', $bits);
// (`field1` LIKE "john" AND `field2` LIKE "john") OR (`field1` LIKE "james" AND `field2` LIKE "james") OR (`field1` LIKE "smith" AND `field2` LIKE "smith")

?>

演示:https://eval.in/66808

看起来您正在使用 PDO(这很好),因此您只需将绑定(bind)参数放入该字符串中,然后将其连接到当前 SQL 查询的末尾到 WHERE 中 子句。

关于php - 在 2 列中使用 select 查找文本 mySQL/PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19943122/

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