PHP+MYSQL update数据前如何判断数据是否存在?

PHP+MYSQL update数据前如何判断数据是否存在?如果不存在,则弹窗提示不存在的数据。
当'$name[$i]'中某个值不在数据库中时,则提示此数据(张三,王五)不存在,无法更新!


<?php
  $name = $_POST['name'];

  $name=explode(',',$name);
  for($i=0;$i<count($name);$i++){
      $sql = "update products set status =2 where name in ('$name[$i]')";  // 当'$name[$i]'中某个值不在数据库中时,则提示此数据不存在,无法更新。
      if ($conn->query($sql) === TRUE) {
          href('../update.php');
      }
      else {
          echo "Error: " . $sql . "<br>" . $conn->error;
      }
  }
?>
 




<textarea name="name"  placeholder="多个姓名,换行隔开!!!" autocomplete="off" class="layui-input" style="width: 300px; cols="40" rows="5" id="name"></textarea>


//提交更新时,如何将name值的多个换行的数据传给后台?并注意查询是否存在?不存在则提示无法更新。
        form.on('submit(L_submit)', function(data){
            $.ajax({ 
                url:'./update_do.php',   
                method:'post',   
                data:data.field,  //(如何将换行隔开的name值传递给后台???)  
                dataType:'JSON',    
                success:function(res){   
                    if(res.code=='0'){   
                    layer.msg("更新成功",{icon: 1, time: 1000},function(){location.reload();}); //提交成功后刷新页面
                    }        
                    else      
                    layer.msg("(张三,王五)不存在,更新失败!",{icon: 1, time: 1000},function(){location.reload();}); //提交成功后刷新页面; 
                    },       
                    error:function (data) {
 
                    }     
            }); 
            return false;
        });

望采纳


可以在更新数据之前执行一个查询语句来确定给定的 name 值是否存在。如果查询返回结果的行数大于零,则表明 name 存在,可以执行更新操作;如果查询返回的行数为零,则表明 name 不存在,可以弹出提示信息,告知用户该数据不存在。

代码如下:

<?php
  $name = $_POST['name'];
 
  $name=explode(',',$name);
  for($i=0;$i<count($name);$i++){
      // 在更新操作之前,首先执行查询操作来确定给定的 name 值是否存在
      $query = "SELECT * FROM products WHERE name = '$name[$i]'";
      $result = $conn->query($query);
      
      // 如果查询返回的行数大于零,则表明 name 存在,可以执行更新操作
      if ($result->num_rows > 0) {
          $sql = "update products set status =2 where name in ('$name[$i]')";
          if ($conn->query($sql) === TRUE) {
              href('../update.php');
          } else {
              echo "Error: " . $sql . "<br>" . $conn->error;
          }
      } else {
          // 如果查询返回的行数为零,则表明 name 不存在,您可以弹出提示信息
          echo "$name[$i] 不存在,无法更新!";
      }
  }
?>