[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как добавить к существующей строке дополнительные
Alzur

Как добавить к существующей строке дополнительные данные?

Делаю так, но выходит ошибка:


$sql="UPDATE mail SET letter='".$_POST['letter']."'.letter WHERE id='".$_POST['letter_id']."'"; 






Спустя 7 минут, 56 секунд (12.09.2011 - 17:39) kent666 написал(а):
у тебя не правильно
Цитата
'.letter WHERE

из за этого и ошибка

Спустя 1 минута, 56 секунд (12.09.2011 - 17:41) kent666 написал(а):
Цитата
$sql="UPDATE mail SET letter='".$_POST['letter']."' WHERE id='".$_POST['letter_id']."'";

попробуй так

Спустя 4 минуты, 10 секунд (12.09.2011 - 17:45) Alzur написал(а):
Так мне нужно в существующую строку с данными letter таблицы mail добавить дополнительные данные $_POST['letter']. Это вообще возможно?

Спустя 3 минуты, 50 секунд (12.09.2011 - 17:49) Alzur написал(а):
$sql="UPDATE mail SET letter='".$_POST['letter']."' WHERE id='".$_POST['letter_id']."'";

Такой код сотрет все, что было в поле letter и заменит его на $_POST['letter'], мне же нужно добавить к нему новые данные

Спустя 1 минута, 45 секунд (12.09.2011 - 17:50) kent666 написал(а):
Ну как по мне то легче было бы сначала считать данные в одну переменную к примеру, а потом добавить к этой переменной доп данные и засунуть через UPDATE их в базу

Спустя 3 минуты, 19 секунд (12.09.2011 - 17:54) inpost написал(а):
Alzur
Непонятно, что ты хочешь.

Спустя 3 минуты, 51 секунда (12.09.2011 - 17:58) kent666 написал(а):
делаешь так
$sql="select letter WHERE id='".$_POST['letter_id']."'";

потом сохраняешь в переменную $primer
а потом
$primer . = $_POST['letter']

$sql="UPDATE mail SET letter='".$primer ."' WHERE id='".$_POST['letter_id']."'";

Спустя 2 минуты, 26 секунд (12.09.2011 - 18:00) Alzur написал(а):
Цитата (inpost @ 12.09.2011 - 14:54)
Alzur
Непонятно, что ты хочешь.

Надо сделать вот что:

есть данные в поле letter
есть новые данные, которые необходимо добавить в поле letter, не удаляя, что было

в php это делается так:
$letter=$letter1.$letter;

Но как это делается в sql?

Спустя 1 минута, 51 секунда (12.09.2011 - 18:02) Alzur написал(а):
Цитата (kent666 @ 12.09.2011 - 14:58)
делаешь так
$sql="select letter WHERE id='".$_POST['letter_id']."'";

потом сохраняешь в переменную $primer
а потом
$primer . = $_POST['letter']

$sql="UPDATE mail SET letter='".$primer ."' WHERE id='".$_POST['letter_id']."'";

Такой способ мне сразу в голову пришел, но хотел сократить код. Наверное так и придется делать)))

Спустя 3 минуты, 8 секунд (12.09.2011 - 18:05) inpost написал(а):
Попробуй так, хотя сам не пробовал, надо проверить, если и будет работать, то только так:
mysql_query("UPDATE `table` SET `cell` = '`cell`".mysql_real_escape_string($add)."' WHERE...") or die(mysql_error());

Спустя 10 минут, 1 секунда (12.09.2011 - 18:15) Alzur написал(а):
Цитата (inpost @ 12.09.2011 - 15:05)
Попробуй так, хотя сам не пробовал, надо проверить, если и будет работать, то только так:
mysql_query("UPDATE `table` SET `cell` = '`cell`".mysql_real_escape_string($add)."' WHERE...") or die(mysql_error());

Не помогает(

Вроде элементарная операция, а не предусмотрена(

Спустя 29 минут, 22 секунды (12.09.2011 - 18:44) Kuliev написал(а):
Цитата (Alzur @ 12.09.2011 - 19:00)
Цитата (inpost @ 12.09.2011 - 14:54)
Alzur
Непонятно, что ты хочешь.

Надо сделать вот что:

есть данные в поле letter
есть новые данные, которые необходимо добавить в поле letter, не удаляя, что было

в php это делается так:
$letter=$letter1.$letter;

Но как это делается в sql?

CONCAT(str1,str2,...)

Возвращает строку, являющуюся результатом конкатенации аргументов. Если хотя бы один из аргументов равен NULL, возвращается NULL. Может принимать более 2 аргументов. Числовой аргумент преобразуется в эквивалентную строковую форму:

mysql> SELECT CONCAT('My', 'S', 'QL');
->
'MySQL'
mysql> SELECT CONCAT('My', NULL, 'QL');
->
NULL
mysql> SELECT CONCAT(14.3);
->
'14.3'

Спустя 22 минуты, 28 секунд (12.09.2011 - 19:07) Alzur написал(а):
Цитата (Kuliev @ 12.09.2011 - 15:44)
CONCAT(str1,str2,...)

Возвращает строку, являющуюся результатом конкатенации аргументов. Если хотя бы один из аргументов равен NULL, возвращается NULL. Может принимать более 2 аргументов. Числовой аргумент преобразуется в эквивалентную строковую форму:

mysql> SELECT CONCAT('My', 'S', 'QL');
->
'MySQL'
mysql> SELECT CONCAT('My', NULL, 'QL');
->
NULL
mysql> SELECT CONCAT(14.3);
->
'14.3'

Спасибо всем, заработало!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.