Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法在SELECT中获得所需的结果_Php_Select_Mysqli - Fatal编程技术网

Php 无法在SELECT中获得所需的结果

Php 无法在SELECT中获得所需的结果,php,select,mysqli,Php,Select,Mysqli,我是PHP新手。我正在尝试根据用户查询显示搜索结果。我的问题是,我没有得到所有其他类似的搜索结果(只有确切的结果显示)。从安全角度看,这是我正在实现的正确方法吗?提前谢谢 define('HOST','localhost'); define('USER','root'); define('PASSWORD_HOST',''); define('DATABASE','test'); if(defined('HOST') && defined('USER') &&

我是PHP新手。我正在尝试根据用户查询显示搜索结果。我的问题是,我没有得到所有其他类似的搜索结果(只有确切的结果显示)。从安全角度看,这是我正在实现的正确方法吗?提前谢谢

define('HOST','localhost');
define('USER','root');
define('PASSWORD_HOST','');
define('DATABASE','test');

if(defined('HOST') && defined('USER') && defined('PASSWORD_HOST') && defined('DATABASE')){
    $conn = mysqli_connect(HOST, USER, PASSWORD_HOST, DATABASE);


}else{
    die(connection_failed.mysqli_connection_error());
}
这里是HTML

<div class="container">
    <div class="row">
        <div class="col-sm-12">
            <form action="" method="POST">
            <h4>Search By</h4>
            <input type="text" name="delName"/>

            <button type="submit" name="submit">search</button>
            </form>
            </div>
        </div>
    </div>

搜寻
搜索
这里是PHP

if(isset($_POST['submit'])){

        $delName = "%{$_POST['delName']}%";

    $stmt =$conn->prepare("SELECT id, delName, medName, contact1, contact2, address, pin, creditLimitDealer FROM dealerentrytable WHERE delName LIKE ?");

   $stmt->bind_param("s", $delName); 
   $stmt->execute(); 
   $stmt->bind_result($id, $delName, $medName, $contact1, $contact2,$address,$pin,$creditLimitDealer);

   while ($stmt->fetch()) {

     echo "<table>";
     echo "<tr><td>ID: $id</td>";
     echo "<td>delName: $delName</td>";
      echo "<td>medName: $medName</td>";
       echo "<td>contact1: $contact1</td>";
        echo "<td>contact2: $contact2</td>";
         echo "<td>address: $address</td>";
          echo "<td>pin: $pin</td>";
           echo "<td>creditLimitDealer: $creditLimitDealer</td></tr>";
     echo "</table>";




    }

     $stmt->close();

    }
    ?> 
if(isset($\u POST['submit'])){
$delName=“%{$\u POST['delName']}%”;
$stmt=$conn->prepare(“选择id、delName、medName、contact1、contact2、address、pin、creditLimitDealer FROM dealerentrytable,delName喜欢在哪里?”);
$stmt->bind_参数(“s”,$delName);
$stmt->execute();
$stmt->bind_result($id、$delName、$medName、$contact1、$contact2、$address、$pin、$creditLimitDealer);
而($stmt->fetch()){
回声“;
回显“ID:$ID”;
回显“delName:$delName”;
echo“medName:$medName”;
回显“contact1:$contact1”;
回显“contact2:$contact2”;
echo“地址:$address”;
回显“pin:$pin”;
echo“creditLimitDealer:$creditLimitDealer”;
回声“;
}
$stmt->close();
}
?> 

如果要使用通配符搜索
$delName
,则需要将其设置为
“%”“%”“%”$delName.”%”
,或者可以使用
concat(“%”、?、“%”)在SQL中解析通配符。
-现在查看并签出它正在显示完整的表数据。。。!不知道是怎么回事。你需要更好地解释一下,举例说明,你想要的结果到底是什么?数据库的内容是什么?阅读MySQL中类似于的
手册,它可能会阐明它的作用。好的,我会这么做。。不管怎样,从安全角度来看,这是正确的方法吗?