【问题标题】:Php search mysql databasephp搜索mysql数据库
【发布时间】:2014-07-27 09:17:31
【问题描述】:

抱歉,我问的是一个已经回答的问题,但我找不到我的具体设置。

我有一个名为 functions.php 的 php 文件,其中存储了我的所有函数并准备了我的数据库。 一个小例子如下:

function getUsers()
{
        global $mysqli,$db_table_prefix;
        $stmt = $mysqli->prepare("SELECT
                id,
                user_name,
                FROM db_users");
        $stmt->execute();
        $stmt->bind_result($id, $user);
        while ($stmt->fetch()){
                $row[] = array('id' => $id, 'user_name' => $user);
        }
        $stmt->close();
        return ($row);
}

我想创建一个搜索功能,使用一个表单,我可以使用 OPTION VALUES 进行搜索,即值为:iduser_name

通过functions.php,我已经建立了与mysql数据库的连接, 如何使用我的 '%searchrequest%' 和 search.php 搜索数据库?

或者您是否建议其他解决方案?

【问题讨论】:

  • 您连接 id 和用户名并设置为选项的值。发布表单并根据需要构建查询。

标签: php mysql database search


【解决方案1】:

只需将这些搜索值传递到您当前的函数中。如果什么都没有传递,它将获取所有数据。如果有任何值传递,它将根据它进行过滤。

function getUsers($id="",$user_name="")
{
        global $mysqli,$db_table_prefix;

        $query = "SELECT
                id,
                user_name,
                FROM db_users WHERE 1 = 1 ";
        if(trim($id)) 
           $query .= " AND id = '".$id."'"; 

        if(trim($user_name)) 
           $query .= " AND user_name = '".$user_name."'"; 


        $stmt = $mysqli->prepare($query);


        $stmt->execute();
        $stmt->bind_result($id, $user);
        while ($stmt->fetch()){
                $row[] = array('id' => $id, 'user_name' => $user);
        }
        $stmt->close();
        return ($row);
}

【讨论】:

  • 您不只是用不同的查询替换而不是连接它们吗?
  • @MikeWu - 指出得好!我讨厌我打错这些地方!
  • 谢谢,马上试试!
猜你喜欢
  • 1970-01-01
  • 2012-12-09
  • 1970-01-01
  • 1970-01-01
  • 2017-05-21
  • 2014-06-02
  • 1970-01-01
  • 2014-05-26
  • 1970-01-01
相关资源
最近更新 更多