即使DB有记录,但试图编辑记录时,代码不起作用

问题描述:

我试图更新'pantry-info'表中的记录。代码去if循环而不是else即使DB有记录,但试图编辑记录时,代码不起作用

代码在下面提到,我做错了什么?

DB连接:

require 'config/connectDB.php'; 
session_start(); 
$id = $_GET['id']; 
$sql = 'SELECT * FROM temp WHERE'. " pan_id = '$id'"; 
$result = mysqli_query($conn,$sql); 

试图在形式上读取数据库表中的值如下:

<?php 
      if(mysqli_num_rows($result1) == 0) 
      { 
       echo '<h2><a href="javascript:delete_user('.$id.')">This record already exists. Do you want to delete it?</a></h2>'; 
      } else { ?> 
       <h4>Edit the record here:</h4> 
       <br> 
       <form name="pantryinfo" id="pantryForm" method = "post" action="update.php" data-toggle="validator" role="form"> 
        <?php while ($row = mysqli_fetch_array($result1,MYSQLI_ASSOC)) { ?> 
         <div class="control-group form-group"> 
          <div class="controls"> 
           <input type="hidden" class="form-control" id="panid" name="panid" value="<?php echo $row['pan_id'];?>"> 
           <p class="help-block"></p> 
          </div> 
         </div> 
         <div class="control-group form-group"> 
          <div class="controls"> 
           <label>Name</label> 
           <input type="text" class="form-control" id="name" name="name" value="<?php echo $row['pname'];?>" required> 
           <p class="help-block"></p> 
          </div> 
         </div> 
       </form> 
      <?php 
      } 
      } 
     ?> 

类似的代码可从另一个数据库表中的不同页面检索值的罚款。请帮忙。提前致谢。

+3

'$ result1'你确定你不是指'$ result'?我没有看到'$ result1'的查询。我只看到'$ result = mysqli_query($ conn,$ sql);'对于其他使用的变量相同。 –

+0

如果是这样,这就成为一个未定义的索引/变量关闭重复 –

+0

'$ result1'是我的一个错字。它到处都是“结果”。代码运行'if'条件的逻辑,而不是进入'else' –

我解决了这个问题。在SQL查询中,我使用$result作为变量,而在if-else代码中,我使用的是result1

谢谢弗雷德指出。

+0

*“$ result1是我的一个错字,它只是'result'无处不在,代码运行逻辑if条件而不是进入else *但你说...否则。 –