Php 如何在数据库中搜索并显示它?

Php 如何在数据库中搜索并显示它?,php,Php,我尝试了这段代码来显示商品名称、价格和数据库中的照片,以便在搜索栏中搜索商品名称 <?php try { require('connection.php'); $sql2="SELECT * FROM items where item.item_name like '".$txt1."%' $result2=$db->query($sql2);

我尝试了这段代码来显示商品名称、价格和数据库中的照片,以便在搜索栏中搜索商品名称

<?php
  try
    {
       require('connection.php');
       
        $sql2="SELECT * FROM items
        where item.item_name like '".$txt1."%' 
        
        $result2=$db->query($sql2);
         if ($result2->rowCount()!=0) {
            foreach ($result2 as $r2) { ?>
                <a href="images/<?php echo $r2['item_photo'] ?>" class="fh5co-card-item image-popup">
                <figure>
                    <div class="overlay"><i class="ti-plus"></i></div>
                     <img src="images/<?php echo $r2['item_photo']?>" alt="Image" class="img-responsive">
                </figure>
                <div>
                     <?php echo "<p><span  class='price kk'>" ; ?>
                     <p style="font-family:'georgia';text-align:center;font-size:20px;color:black;"><?php echo ($r2['item_name']); ?></span></p>
                     <h2 style="font-family:'georgia';text-align:center;font-size:18px;color:grey;"><?php echo ("BD ".$r2['item_price']); ?></h2>
                 </div>
           <?php }
          } ?>
“class=“fh5co卡项目图像弹出窗口”>
“alt=”Image“class=”img responsive“>

问题是sql,where后面还有一个额外的名称

$sql2="SELECT * FROM items
        where item.item_name like '".$txt1."%' ;
应该只有item\u名称,而不是item.item\u名称。将此更改为:

$sql2="SELECT * FROM items
        where item_name like '".$txt1."%';

您的代码可能会被sql注入攻击。请谨慎使用此代码进行生产。

是否有任何错误?这对你有什么回报?请先修一门php课程。有很多教程。代码人有什么问题?请与我们分享,以便我们提供一些帮助。您的代码看起来非常危险,可以通过sql注入加以利用