为什么我的搜索代码只显示所有数据并且剂量不显示类型结果

时间:2016-06-08 00:10:36

标签: php

嗨,我在php中创建了一个搜索框和代码,但是当我按下搜索时它只显示所有偶数输入为空,当我将其更改为$查询变量时,它显示我定义的messeage,而不是infprmation即使我输入正确的名称

,也不会退出
DoWork

1 个答案:

答案 0 :(得分:0)

以下是使用PDO而不是mysqli进行搜索的示例。(正如您在评论中要求的PDO示例) 对于您的搜索示例,我将答案分为以下几种, 1.首先设置与数据库的连接。 2.准备声明。 3.绑定参数。 4.Execute。

对于上面的场景,此代码将转到“dbConnection.php”文件,

try {
        $conn = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password);
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        //Your Query here
    } catch(PDOException $e) {
        echo 'ERROR: ' . $e->getMessage();
    }

2.将此文件存入您的“search.php”文件,该文件将类似于

require('dbConnection.php');
if(isset($_POST['search'])){
         $searchg=$_POST['search'];
         $searchg=preg_replace("#[^a-z0-9.]#i", "", $searchg);
         $sql="SELECT * FROM `user` WHERE `uploadfilename` LIKE :keyword;";
         $q=$dbh->prepare($sql);
         $q->bindValue(':keyword','%'.$searchg.'%');
         $q->execute();
         while ($row=$q->fetch(PDO::FETCH_ASSOC)) {
             // Here do what ever you want with the results i am showing array content with print_r. you can do what ever you want with resulting array.
             echo"<pre>".print_r($row,true)."</pre>";
         }
}//IF isset search