это правильный способ добавить несколько текстовых полей одновременно в mysql?

#php #mysql

#php #mysql

Вопрос:

это работает идеально, но правильный ли это способ сделать это?

 <?
/////////////////add/////////////////////////////////

    for ($i=0; $i<count($_POST['newhour_start']); $i  ) {   
        if ($_POST['newhour_start'][$i] !="" amp;amp; $_POST['newhour_end'][$i] !="" ) {
            $inserthour = mysql_query("INSERT INTO hour 
            (hour_start,hour_end,hour_day) VALUES 
            ('".$_POST['newhour_start'][$i]."','".$_POST['newhour_end'][$i]."','".$_POST['newhour_day'][$i]."')");
        }
    }
?>
Start:<input name="newhour_start[]" type="text" id="newhour_start" > End: <input name="newhour_end[]" type="text" id="newhour_end" ><input name="newhour_day[]" type="hidden" id="newhour_day" value="Monday" >

Start:<input name="newhour_start[]" type="text" id="newhour_start" > End: <input name="newhour_end[]" type="text" id="newhour_end" ><input name="newhour_day[]" type="hidden" id="newhour_day" value="Monday" >

Start:<input name="newhour_start[]" type="text" id="newhour_start" > End: <input name="newhour_end[]" type="text" id="newhour_end" ><input name="newhour_day[]" type="hidden" id="newhour_day" value="Monday" >
  

Комментарии:

1. Вам следует использовать какую — нибудь функцию , такую как mysql_real_escape_string , по соображениям безопасности …

Ответ №1:

Вы можете вставить несколько строк одновременно:

 mysql_query("INSERT INTO hour 
            (hour_start,hour_end,hour_day) VALUES 
            (1, 2, 3),
            (4, 5, 6)
);
  

Комментарии:

1. сторона mysql в порядке. но как насчет php-стороны?

2. Вместо цикла for, создающего новый запрос, просто создайте цикл for, который добавляет (7, 8, 9) к строке вашего запроса в каждом цикле.