2015-04-13 2 views
-1

Я пытаюсь получить файл altas.php для различных html-форм. Этот код HTML формы с некоторыми MySQL столбцов:php: get option select value by mysql

<div><label for="categoria">Categoría principal</label><select type="text" name="categoria"> 
     <?php 
      $query = "select id, categoria from categorias"; 
      $result = mysqli_query($mysql,$query); 
      if(!$result) echo 'Muy mal....'; 
      $num_filas = mysqli_num_rows($result); 
      for ($i = 0; $i < $num_filas; $i++){ 
       $row = mysqli_fetch_array($result); 
     ?> 
     <option value "<?php echo $row['id']?>"><?php echo $row['categoria']?></option><?php 
      } 
     ?> 
     </select></div> 

С другой стороны, если я делаю это:

foreach($_POST as $campo => $valor){ 
     echo $campo ." = ". $valor ."\n"; 
    } 

У меня нет никаких данных в $row['categoria']. Он должен вернуть значение, которое является идентификатором категории.

Другой вопрос:

Как я могу использовать «Еогеасп» ти вставкой предложения?

Например:

foreach($_POST as $campo => $valor){ 
$query ="INSERT INTO $tabla ($campo) VALUES ('$valor')"; 
} 

$ табла отправляется через $ _GET. Этот код создает новую строку для каждого $ campo. Есть идеи?

Я попробовал некоторые предложения, но ничего не работает.

+1

** ПРЕДУПРЕЖДЕНИЕ **: при использовании 'mysqli' вы должны использовать параметризованные запросы и [' bind_param'] (http://php.net/manual/en/mysqli-stmt.bind-param.php) для dd в ваш запрос. ** НЕ используйте ** интерполирование строк, чтобы выполнить это, потому что вы создадите серьезные [SQL-инъекции ошибок] (http://bobby-tables.com/). ** НИКОГДА ** не вводите данные '$ _POST' непосредственно в запрос. – tadman

+0

- это '