douzi9211 2019-05-15 12:51
浏览 296
已采纳

如果特定列中不存在值,则将数据插入数据库

I've tried to follow several answers on this question but can't seem to get it to work for my specific problem.

I want to insert data but only if the flight_number doesn't exists already. How can I do that?

$sql = mysqli_query($con,
  "INSERT INTO space (`flight_number`, `mission_name`, `core_serial`, `payload_id`)
  VALUES ('".$flight_number."', '".$mission_name."', '".$core_serial."', '".$payload_id."')"
);
  • 写回答

2条回答 默认 最新

  • doulu4534 2019-05-15 13:05
    关注

    Rob since you saying flight_number is a unique then you can use INSERT IGNORE

    <?php
    
    
        $sql = "INSERT IGNORE INTO space (`flight_number`, `mission_name`, `core_serial`, `payload_id`) VALUES (?,?,?,?)";
    
        $stmt = $con->prepare($sql);
        $stmt->bind_param('isss',$flight_number,$mission_name,$core_serial,$payload_id);
        if($stmt->execute()){
    
            echo 'data inserted';
            // INSERT YOUR DATA
        }else{
    
            echo $con->error;
        }
    
    ?>
    

    OR you could select any row from your database that equal to the provided flight number then if u getting results don't insert.

    $sql = "SELECT mission_name WHERE flight_number = ? ";
        $stmt = $con->prepare($sql);
        $stmt->bind_param('i',$flight_number);
        if(mysqli_num_rows($stmt) === 0){
    
    
            // INSERT YOUR DATA
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题