Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更新前检查列是否为零_Php_Mysql - Fatal编程技术网

Php 更新前检查列是否为零

Php 更新前检查列是否为零,php,mysql,Php,Mysql,如何在插入数据库之前检查列是否为零 这是我尝试过的,但在更新后,仍然插入一个带有最后插入ID的新行,但我只是希望它在不插入ID的情况下更新 $lastID = mysqli_insert_id($DBcon); $query2=$DBcon->query("SELECT * FROM mergeing"); $compare_value = "0"; if($row = $query2->fetch_array()) { $merge

如何在插入数据库之前检查列是否为零

这是我尝试过的,但在更新后,仍然插入一个带有最后插入ID的新行,但我只是希望它在不插入ID的情况下更新

    $lastID = mysqli_insert_id($DBcon);
    $query2=$DBcon->query("SELECT * FROM mergeing"); 
    $compare_value = "0";
    if($row = $query2->fetch_array()) {
        $merger = "INSERT into mergeing(donator_1) VALUES ('$lastID')";
        if($row['donator_2'] !== "$compare_value") {
            if ($DBcon->query($merger)) {
                echo "success second";
            }
        }
    }
    while ($row = $query2->fetch_array()) {
        $idd= $row["_id"];
        $merg2 = "UPDATE mergeing SET donator_2='".$lastID."'  WHERE _id=$idd";
        if($row['donator_2'] === "$compare_value") {
            if ($DBcon->query($merg2)) {
                echo "success";
            }
        }
    } 

您似乎想检查是否有一个记录具有特定的donator_2值,如果是,则希望更新该记录。如果不存在这样的值,则需要插入新记录

那么您的代码可能如下所示:

$lastID = mysqli_insert_id($DBcon);
$compare_value = 0;
$DBcon->query("UPDATE mergeing SET donator_2 = $lastID WHERE donator_2 = $compare_value");
if ($DBcon->affected_rows) {
    echo "success: updated";
} else {
    $DBcon->query("INSERT into mergeing(donator_1) VALUES ($lastID)");
    echo "success: inserted";
}
根据您的实际使用情况,但您可能还希望在插入新记录时设置donator_2值


请注意,如果$compare_值是由用户输入或您无法预测的其他来源决定的,那么您应该使用预先准备好的语句,否则代码将接受SQL注入。

您的问题不清楚。您的代码正在执行插入、选择和更新。到底发生了什么?样本数据以及您正在获得和想要获得的结果将是一个很大的帮助。_iddonator_1 donator_2 donator 1 1 2 0 2 24 25 0 3 25 0 0 0您正在为一件简单的事情而兜圈子!