|
|
|
|
|
для: confirm
(07.01.2015 в 17:25)
| | >Подготовленный, это не апострофы, если все значения массива это числа, достаточно array_map('Intval', $array))
Именно.
> Если строки, mysql_real_escape_string и кавычки.
Именно! И кавычки.
То, что mysql_real_escape_string сама не обрамляет кавычками экранированный вариант - существенное упущение разработчиков. | |
|
|
|
|
|
|
|
для: Trianon
(07.01.2015 в 17:07)
| | Подготовленный, это не апострофы, если все значения массива это числа, достаточно array_map('Intval', $array)). Если строки, mysql_real_escape_string и кавычки. | |
|
|
|
|
|
|
|
для: bellator001
(07.01.2015 в 17:13)
| | А подумать?
Это я в примере написал имя массива полей формы для примера $array. Вы думаете я должен догадаться как у вас он реально называется и подставить его?
Вместо $array у вас должно быть то имя, что определяет этот массив. | |
|
|
|
|
|
|
|
для: confirm
(07.01.2015 в 17:05)
| | Warning: implode(): Argument must be an array in E:\bellator001\www\admin\module\module.php on line 2400
Notice: Array to string conversion in E:\bellator001\www\admin\module\module.php on line 2400 | |
|
|
|
|
|
|
|
для: confirm
(07.01.2015 в 16:54)
| | >где $val - это подготовленный массив данных формы соответственно их типу
подготовленный массив уже оказался бы окружен апострофами (поэлементно) :)).
иначе какой же он подготовленный? | |
|
|
|
|
|
|
|
для: bellator001
(07.01.2015 в 15:33)
| | А для таких данных
<?
$sql = 'INSERT INTO `table`(`name`, `text`, `img`, `tags`) VALUES ('. implode('),(' . array_map(function($v) {
return '"' . implode('","' . array_map('mysql_real_escape_string', $v)) . '"';
}, $array)) . ') ....';
|
| |
|
|
|
|
|
|
|
для: Лена
(07.01.2015 в 16:28)
| | Лена, Ваш ответ мне очень нравиться))
Дело в том, что у меня есть сайт с видео контентом. Т.е. видео это ссылки с youtube в основном.
И в youtube API есть такой фраймворк Zend_Gdata_YouTube
я вывожу на свой админ панель нужные мне видео с ютуб и удаляю не нужные. Потом я _POST запросом отправляю полученные данные в обработчик. и в выходе получается такой массив)) По одному я могу добавить, мне так не удобно | |
|
|
|
|
|
|
|
для: bellator001
(07.01.2015 в 16:26)
| | Если у формы одно поле имени, то достаточно одной функции, чтобы приготовить это для помещения в базу:
<?
$sql = 'INSERT INTO table (field_name) VALUES (' . implode('),(', $val) . ') ....';
|
где $val - это подготовленный массив данных формы соответственно их типу. | |
|
|
|
|
|
|
|
для: bellator001
(07.01.2015 в 16:26)
| | Вам как-то по-другому форму надо было делать, расскажите, что вы там делаете подробнее...
Как вариант из того, что вы уже наделали:
<?php
$n = $t = '';
$arr = array('name'=>array(115000917,115000916,115000915),'text'=>array('Щит R1 C асмодианина 54-го уровня','Щит R1 B асмодианина 54-го уровня','Щит R1 A асмодианина 54-го уровня'));//ваш массив
$arr_res = array();
foreach($arr as $k => $v) {
foreach($v as $key => $val) {
$arr_res[$key][$k] = $val;
}
}
print "<pre>";
print_r($arr_res); //смотрим, что за массив получился, можно и не распечатывать
foreach($arr_res as $val) {
$n = $val["name"];
$t = $val["text"];
$sql = "INSERT INTO `table`(`name`, `text`) VALUES ('$n','$t')";
$res = mysql_query($sql);
}
|
| |
|
|
|
|
|
|
|
для: Лена
(07.01.2015 в 16:01)
| |
<form>
<input type="text" name="name[]" >
<input type="text" name="name[]" >
<input type="text" name="name[]" >
<input type="text" name="text[]" >
<input type="text" name="text[]" >
<input type="text" name="text[]" >
</form>
|
из этого | |
|
|
|
|