вставить несколько входных текстов с тем же именем в SQL и PHP - PullRequest
0 голосов
/ 05 октября 2011

Я хочу вставить несколько входных данных в одну и ту же таблицу, используя php и sql

пример:

<script language="javascript">
fields = 0;
function addInput() {
if (fields != 10) {
document.getElementById('text').innerHTML += "<input type='text' name='order'><br/>";
fields += 1;
} else {
document.getElementById('text').innerHTML += "<br />Only 10 insert fields allowed.";
document.form.add.disabled=true;
}
}
</script>


<form action='insert.php' method='post'>
<input type='text' name='order'>


<div id="text">

</div>

<br /><input type='button' value='add new input' onclick='addInput()'> <input type='submit' value='submit'>

</form>

в этом коде у меня неограниченный ввод, я должен вставить его в:

dbtable = clients_order

имя строки: порядок

++++++++++++++++++
+  id  +  order  +
++++++++++++++++++

поэтому, когда я использую этот код:

$order=$_POST['order'];
foreach ($order as $insert_order) {

mysql_query("INSERT INTO  clients_order (order)
    VALUES ('$insert_order')");

 }

Сообщение об ошибке: Предупреждение: неверный аргументпоставляется для foreach ()

, пожалуйста, помогите мне сделать это

спасибо

1 Ответ

2 голосов
/ 05 октября 2011

foreach() жалуется, что $order не является массивом.Если вы используете order[] в качестве поля имени в HTML для своего поля, то PHP превратит их все в массив для вас.

Вы также должны проверить, что у вас есть массив (используйте is_array()) переддавая его в foreach() цикл.И вы должны вызывать mysql_real_escape_string() для каждого фрагмента текста из $orders, чтобы предотвратить атаки SQL-инъекций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...