0

列 inicio_periodo、id を持つ eleva というテーブルがあり、条件が満たされたときに、このテーブルのデータを別のテーブルに入力したいと考えています。私は動作するはずのwhereステートメントを試していますが、条件に関係なく他のテーブルに挿入します.これが私のコードです:

for($i=0; $i < $tamanho_array_eleva-1; $i++) {
    if($array_eleva[$i+1] - $array_eleva[$i] > 1){
        $con->query("
                    INSERT INTO eventos_dias
                    SELECT DATE(inicio_periodo),'1','0','0','0'
                    FROM eleva
                    WHERE id = $array_eleva[$i] AND 0<=HOUR(inicio_periodo)<6");
        $con->query("
                    INSERT INTO eventos_dias
                    SELECT DATE(inicio_periodo),'0','1','0','0'
                    FROM eleva
                    WHERE id = $array_eleva[$i] AND 6<=HOUR(inicio_periodo)<12");
        $con->query("
                    INSERT INTO eventos_dias
                    SELECT DATE(inicio_periodo),'0','0','1','0'
                    FROM eleva
                    WHERE id = $array_eleva[$i] AND 12<=HOUR(inicio_periodo)<18");
        $con->query("
                    INSERT INTO eventos_dias
                    SELECT DATE(inicio_periodo),'0','0','0','1'
                    FROM eleva
                    WHERE id = $array_eleva[$i] AND 18<=HOUR(inicio_periodo)<24");
    }
}

現在、テーブルには16時のデータしかないため、機能していないことはわかっていますが、関係なくすべての挿入を実行しています。誰でもエラーが表示されますか?

役に立てば: 私の考えは、条件number<=hour(inicio_periodo)<numberが満たされた場合に、選択した値を他のテーブルに入力することです。前もって感謝します!

4

1 に答える 1