0

SELECT クエリが false を返した場合にコードを実行したいのですが、これは次のコードです。

    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $dbh->beginTransaction();

    if(!$dbh->query($stmt)){
        $query->execute();

        if($stmt->execute()){
            while($row = $stmt->fetch()){
                for ($i = 0;
                    $i < count($defect[0]);
                    $i++){
                    $stmtDefect->bindParam(':purgeID', $row['purgeID']);
                    $stmtDefect->bindParam(':defectID', $defect[0][$i]);
                    $stmtDefect->bindParam(':action', $action[0][$i]);
                    $stmtDefect->execute();
                }//end for
            }//end while
        }//end if

        $dbh->commit();
        echo "Data Successfully added";
    } else {
        echo "Sequence: " . $sequence . " already checked";
    }

行が見つからない場合、query() が false を返すことはわかっていますが、このコードは常に実行されます。

4

0 に答える 0