gpt4 book ai didi

php - 空格中断 MySQL 字符串搜索

转载 作者:行者123 更新时间:2023-11-29 05:43:27 25 4
gpt4 key购买 nike

有人要求我向客户站点添加一个小的 AJAX 功能。基本上我有一个包含 3 个字段的 MySQL 表:

  • 编号
  • 产品
  • 姓名

该站点的想法是,用户开始输入“名称”,然后在敲击几次按键后显示产品。我的查询如下所示:

$query = mysql_query("SELECT product FROM mytable WHERE name LIKE '%".$search."%'");

一切正常,除非“名称”中有空格。例如,如果我有一个名为“Coca Cola”的名称,当我键入“Coca”时,脚本会成功列出产品,但只要我键入空格,它就不再返回任何行。

我到处寻找解决方案。我知道空格被解释为某种分隔符,但是我可以让数据库将空格解释为……嗯……一个空格吗?如果没有,是否有更好的方法来实现我想要完成的目标?

编辑:

我在 PHPMyAdmin 中运行它,它实际上返回了正确的结果,这让我相信它一定是 PHP 中的东西。有完整的脚本:

$search = $_GET['search'];
$already_echoed = array();

if (!ereg('[^A-Za-z0-9]', $search) && strlen($search) > 2) {

$query = mysql_query("SELECT product FROM mytable WHERE name LIKE '%".$search."%'");

if (mysql_num_rows($query) > 0) {

echo '<h4>Suggestions:</h4><ul>';

while ($product = mysql_fetch_array($query)) {

if (!in_array($product['product'], $already_echoed)) {
$getProduct = mysql_query("SELECT name, shortname FROM products WHERE id='".$product['product']."'");
$product2 = mysql_fetch_array($getProduct);

echo '<li><a href="http://' . $product2['shortname'] . '.mydomain.com">' . $product2['name'] . '</a></li>';
$already_echoed[] = $product['product'];
}

}

echo '</ul>';

}


}

最佳答案

!ereg('[^A-Za-z0-9]', $search

看起来您正在从允许的字符列表中排除空格。我不太会说 PHP,也懒得去看文档。

关于php - 空格中断 MySQL 字符串搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4679355/

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