我有这个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++;
}
?>
答案 0 :(得分:0)
这取决于你是否想在出现问题后停止循环或继续。这是循环停止代码的结束:
if(!mysqli_query($dbcon,$sql))
{
echo 'not inserted';
$isInserted = false;
break; // to stop looping
}
//remove else
$rowIndex++;
}
if($isInserted!==false){
echo 'inserted';
}