php-在文本框上显示特定数据

x8goxv8g  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(269)

我只需要显示 id 一个文本框上的数据库行,我的问题是数据显示的是所有 id's 行和列。
我正在获取数据库中的所有数据,但我只需要数据库上的id。
这是我在表单中的代码,输入文本字段并提交。

<form action="" method="POST">
    <div class="row  col-md-4">
    <label>Amount</label>
     <input type="text" name="id" class="form-control validate"> 
       <br>
    <input type="submit" class="form-control btn-warning" name="search" value="Search Data"></input><br>

    <?php 

    $connection = mysqli_connect("localhost","root","");
    $db = mysqli_select_db($connection, 'qrproject');

    if(isset($_POST['search']))
    {
      $id = $_POST['id'];

      $query = "SELECT * FROM scratch_cards WHERE amount='$id' ";
      $query_run = mysqli_query($connection, $query);

      while($row = mysqli_fetch_array($query_run))
      {
        ?>
        <form action="" method="POST">

        <input type="text" name="code" value="<?php echo $row['code'] ?>" class="form-control validate" id="mapo">

           <input type="text" name="pin" value="<?php echo $row['pin'] ?>" class="form-control validate" id="mact">

           <input type="text" name="status" value="<?php echo $row['status'] ?>" class="validate form-control" id="soluong">

        <input type="date" name="card_expiration" value="<?php echo $row['card_expiration'] ?>" class="validate form-control" id="cardex">

          <input type="number" name="card_validity" value="<?php echo $row['card_validity'] ?>" class="validate form-control" id="cardval">

        </form>
        <?php 
      }
    }
     ?>   
</form>
lyr7nygr

lyr7nygr1#

从您的评论来看,似乎您要做的是输出一个与 $_POST['id'] 价值对比 amount 表中的列。您可以将查询更改为:

SELECT * FROM scratch_cards WHERE amount='$id' ORDER BY RAND() LIMIT 1

你也可以改变

while($row = mysqli_fetch_array($query_run))

if($row = mysqli_fetch_array($query_run))

尽管对查询进行了更改,将输出限制为一行,但这不再是绝对必要的。
正如已经指出的,您很容易受到sql注入的攻击,您应该阅读这个问题,看看如何解决这个问题。

相关问题