如何获得只有一个成功或失败的消息插入查询在mysql的while循环下


How to get only ONE success or failure message for insertion query under while loop in mysql

我有这个insert.php作为我的代码的一部分,它完全按照我想要的方式工作,除了,echo文本迭代,直到它从循环中出来。例如,如果插入3行,我得到的消息为"insertedinsertedinserted"。

是否有一种方法,我可以得到更多的定义结果,如

已插入3行或未插入3行。有人能帮我一下吗?

 <?php
DEFINE ('DB_USER', 'root');
DEFINE ('DB_PSWD', '');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'testdb');
$dbcon = mysqli_connect(DB_HOST, DB_USER, DB_PSWD, DB_NAME);
if(!$dbcon)
{
    echo 'not connected to server';
}
if(!mysqli_select_db($dbcon,'testdb'))
{
    echo 'database not selected';
}
$rowIndex = 0;
$max = filter_input(INPUT_POST, 'max');
while ($rowIndex < $max)    {    
$date = filter_input(INPUT_POST, 'date'.$rowIndex);
$user = filter_input(INPUT_POST, 'user'.$rowIndex);
$sql = "INSERT INTO TABLE (DATE,USER) VALUES ('$date', '$user')";
if(!mysqli_query($dbcon,$sql))
{
    echo 'not inserted';
}
else
{
    echo 'inserted';
}
$rowIndex++;
}
    ?>

这取决于您是希望在出现错误后停止循环还是继续循环。这是你的代码的结束与循环停止:

    if(!mysqli_query($dbcon,$sql))
    {
        echo 'not inserted';
        $isInserted = false;
        break; // to stop looping
    }
    //remove else
    $rowIndex++;
}
if($isInserted!==false){
     echo 'inserted';
}