- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
Часть 1
=====================================
foreach ($_POST['massive'] as $key => $val)
{
@mysql_query("INSERT INTO table VALUES (NULL,'".$val."'");
}
======================================
Часть 2
======================================
if (!empty($_POST['massive'])/*&&is_array($_POST['massive']) для любителей пожестче=)*/)
{
//Так мы точно знаем что нам что-то передали(не выскочит нотис).
//Далее надо сформировать правильный запрос. Никогда, НИКОГДА нельзя делать кучу инсертов циклом, т.к. скорее всего это закончиться смертью сервера.
//А сделать как-нить так
foreach ($_POST['massive'] as $key => $val)
{
$query.="('".mysql_real_escape_string($val)."'),"; //Cделаем заготовку для запроса, попутно параметр экранируется, что бы злобные хакеры не подсунули нам кавычку и прочую гадость.
}
$query= 'INSERT INTO table VALUES'.substr($query, 0, -1).';';//Обрежем последнюю лишнюю запятую, и в итоге получим запрос вида INSERT INTO table VALUES (),(),()..();
if (!mysql_query($query)) //Скажу по секрету, что ставить собаку это моветон.
{
print "Упс, что-то сломалось";
print mysql_error();
}else {print "Вот и все"}
==========================================
Вобщем, увидел на одном форуме часть 1.
Будучи в хорошем настроении решил поправить. И Выдал часть 2, прямо вот в форуме. Думал отправить.. Но попахивает же, да?
Lure Of Chaos 23.08.2010 12:27 # −1
vitaly 23.08.2010 12:28 # 0
Lure Of Chaos 23.08.2010 12:29 # −1
7ion 23.08.2010 13:00 # +1
Для начала: чоткие PHP-погромисты не юзают этот ваш бэйсиковский print.
У нас все свое, родное, крутое такое и дерзкое. Используйте echo, чтобы влиться в наши чоткие ряды.
На досуге погуглите разницу между: echo и print, одинарными кавычками и двойными.
А также - как форматировать код и писать условия. Узнайте, что такое конкатенкация, и как она помогает сокращать количество команд вывода.
Собака порой нужна, но тогда ОБЯЗАТЕЛЬНО нужно делать свою обертку для варнинга. Иначе рискуете битый час думать над тем, что же здесь не работает. А PHP будет молчать как партизан.
Про передачу массива методом Post...
Вы уверены, что нет другого выхода?
vitaly 23.08.2010 13:04 # −4
7ion 23.08.2010 13:06 # 0
И зачем тогда спрашивать, если вы так умны?
По вашему коду не скажешь, что вы это все знаете.
И мне тоже порой приходится писать код в форме ответа, но говнистости коду это не придает, как ни странно.
vitaly 23.08.2010 13:34 # −2
Анонимус 24.08.2010 00:15 # +2
Анонимус 23.08.2010 13:26 # 0
даже не знаю, что Вам сказатьб
mrbig66 23.08.2010 13:53 # +1
ZX_Spectrum 23.08.2010 14:41 # 0
u1tr0n 23.08.2010 21:52 # −2
foreach ($_POST['massive'] as $val) {
$els[] = "('".mysql_real_escape_string($val)."')" ;
}
$query= 'INSERT INTO table VALUES'. implode(',',$els);
if (!mysql_query($query)) {
echo 'Упс, что-то сломалось' . mysql_error();
}else { echo 'Вот и все'';
}
}
так кашернее яхз...
telnet 23.08.2010 22:16 # 0
2) Код нерабочий - комментарий не закрыт и опечатка в третьей снизу строке
3) Чем это кошернее?
Анонимус 24.08.2010 00:14 # +3
А в кашруте кашрутов -- он вообще mysql_query содержать не может
Lure Of Chaos 24.08.2010 01:04 # 0
telnet 24.08.2010 07:32 # +3