我有这个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';
}