2016-10-22 8 views
-2

このinsert.phpは自分のコードの一部として使用していますが、これ以外の方法でもエコーテキストが反復処理されますそれがループから出てくるまで。 たとえば、3つの行が挿入されている場合は、「insertedinsertedinserted」というメッセージが表示されます。mysqlのwhileループで挿入クエリの成功または失敗のメッセージを取得する方法

私は、このような挿入

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

返信いただきありがとうございます@ gordon、エラーは起こっていないと仮定して、挿入が行われた後に "挿入された3行"のように1つのメッセージを表示させるにはどうすればよいですか? –

答えて

0

何かが間違っているか続行するかどうかは、ループを停止するかどうかによって異なります。ループ停止のコードの最後です。

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