0

現在、プログラムはある程度正常に動作しており、mysql_affected_rows が 0 より大きい場合、実際に新しいテーブルにデータを追加し、関連するエコー メッセージを出力します。

ただし、mysql_affected_rows = 0 の場合、何も表示されず、エラー メッセージも表示されませんが、出力はまったくありません。

私はコードを取り除きました、あなたの誰かが何か考えを持っていますか?

コード

$query10 = ("SELECT p.surname, p.passNo, p.activeUntil FROM PASSENGER p WHERE p.activeUntil < DATE_ADD(NOW(),INTERVAL -1 DAY)");
$result = mysql_query($query10);  
while($row = mysql_fetch_array($result))
{       
    $surname =  $row['surname'];
    $passNo = $row['passNo']; 
    mysql_query("INSERT INTO ARCHIVED_PASSENGER (surname, passNo) VALUES ('$surname', '$passNo')  ") 
        or die(mysql_error());  

    if (mysql_affected_rows()>0) {
        echo '<p>';
        echo "The number of rows affected by this update is:  ";
        echo mysql_affected_rows(); 
    }

    if  (mysql_affected_rows()<1) {     
        echo '<p>';
        echo "No records were affected. Taking you back to the control panel.";
    }
}
4

1 に答える 1

0

if($result != false && mysql_num_rows($result) > 0)while ループの直前にa を追加することをお勧めします。そのようです:

$query10 = ("SELECT p.surname, p.passNo, p.activeUntil FROM PASSENGER p WHERE p.activeUntil < DATE_ADD(NOW(),INTERVAL -1 DAY)");

$result = mysql_query($query10);  

if($result != false && mysql_num_rows($result) > 0) 
{
    while($row = mysql_fetch_array($result))
    {
        $surname =  $row['surname'];
        $passNo = $row['passNo']; 


        $query11 = mysql_query("INSERT INTO ARCHIVED_PASSENGER (surname, passNo) VALUES ('$surname', '$passNo')  ") 
            or die(mysql_error());  

        if ($query11 != false && mysql_affected_rows()>0) {
            echo '<p>';
                echo "The number of rows affected by this update is:  ";
                echo mysql_affected_rows();
            echo '</p>';
        }

        if  ($query11 == false || mysql_affected_rows()<1) {     
            echo '<p>';
                echo "No records were affected. Taking you back to the control panel.";
            echo '</p>';
        }
    } else {
        //nothing was retrieved, give some error!
    }
 }
于 2012-04-23T14:48:16.203 に答える