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


if (isset($_POST))
{
$fName = $_POST['fName'];
$fValue = $_POST['fValue'];

mysql_connect("localhost","root","");
mysql_select_db("mydb");

$query = mysql_query("UPDATE personal SET $fName=$fValue WHERE us_id=2");

if (!$query)
{

echo 0;
}
else
{

echo 1;

}
}



увы, это работает лишь только с числовым полем пока, на остальные текстовые поля он возращает 0. А в консоли mysql вообще такое чудо происходит:

mysql>UPDATE `mytable` SET iName = David WHERE us_id=2 LIMIT 1;
ERROR 1054 Unnkown Column David in Field List




Спустя 2 минуты, 34 секунды (10.06.2012 - 15:43) GET написал(а):
Безопасность конечно отдыхает, но пишет что столбца David нет в таблице

Спустя 50 секунд (10.06.2012 - 15:44) Michael написал(а):
ну ты жжешь. Строки надо в кавычки брать.

$query = mysql_query("UPDATE personal SET $fName='$fValue' WHERE us_id=2");

Спустя 1 минута, 16 секунд (10.06.2012 - 15:45) Stasonix написал(а):
в кавычках и числа не вставляет.

Спустя 1 минута, 5 секунд (10.06.2012 - 15:46) Michael написал(а):
чего?

Спустя 8 секунд (10.06.2012 - 15:46) Stasonix написал(а):
а столбца David и не должно быть, это же значение.

Спустя 1 минута, 16 секунд (10.06.2012 - 15:48) Michael написал(а):
Цитата (Stasonix @ 10.06.2012 - 14:46)
а столбца David и не должно быть, это же значение.

которое надо взять в кавычки, это же значение

Спустя 28 секунд (10.06.2012 - 15:48) Stasonix написал(а):
Честно говоря я сам немного в замешательстве, кодировка везде utf-8 unicode.

Спустя 3 минуты, 26 секунд (10.06.2012 - 15:51) Michael написал(а):
что привело тебя в замешательство? laugh.gif Твое незнание основ программирования?

Спустя 21 секунда (10.06.2012 - 15:52) GET написал(а):
$fName - наименование столбца, который ты обновляешь

$query = mysql_query("UPDATE `personal` SET `".$fName."`='".$fValue."' WHERE `us_id`='2'");

Спустя 2 минуты, 43 секунды (10.06.2012 - 15:55) Stasonix написал(а):
не пойму ничего (консоль):

mysql> UPDATE `mytable` SET `iName`=`David` WHERE `us_id`=2 LIMIT 1;
ERROR 1054 : Unknown column David in field list

mysql> UPDATE `mytable` SET `iAge`=50 WHERE `us_id`=2 LIMIT 1;
Rows matched: 1 Changed: 1 Warnings: 0

Спустя 49 секунд (10.06.2012 - 15:55) GET написал(а):
Цитата
`David`


'David'

Спустя 34 секунды (10.06.2012 - 15:56) GET написал(а):
` и ' разные вещи!

Спустя 2 минуты, 6 секунд (10.06.2012 - 15:58) Stasonix написал(а):

$query = mysql_query("UPDATE `personal` SET `".$fName."`='".$fValue."' WHERE `us_id`=`2`");


всегда 0, что числовое, что строковое. Такая ситуация незаурядная, может значение быть либо стоковым либо числовым (т.е. зарание не известно).


Спустя 1 минута, 51 секунда (10.06.2012 - 16:00) Stasonix написал(а):
mysql> UPDATE `mytable` SET `iName`='David' WHERE `us_id`=2 LIMIT 1;


да, вот так работает. Но как тогда со скриптом быть. Тернарным что-ли?

Спустя 1 минута, 42 секунды (10.06.2012 - 16:02) Stasonix написал(а):
аааа, всё всё всё!!! Есть контакт!

$query = mysql_query("UPDATE `personal` SET `".$fName."`='".$fValue."' WHERE `us_id`=2");

Спустя 3 минуты, 36 секунд (10.06.2012 - 16:05) GET написал(а):
учи синтаксис так писать нельзя...иначе будешь над простыми запросами по часу сидеть, написал бы по правилам и этого бы поста не было.

Спустя 1 минута, 46 секунд (10.06.2012 - 16:07) Stasonix написал(а):
если бы этого поста бы не было я бы сидел и учил синтаксис часами lol.

Спустя 3 минуты, 52 секунды (10.06.2012 - 16:11) Michael написал(а):
laugh.gif

Спустя 34 минуты, 46 секунд (10.06.2012 - 16:46) johniek_comp написал(а):
Stasonix
значить программирование не твое, мне вот очень нравится учится!

Спустя 8 минут, 51 секунда (10.06.2012 - 16:54) Michael написал(а):
Цитата (johniek_comp @ 10.06.2012 - 15:46)
Stasonix
значить программирование не твое,

ты прям как лучик солнца, такой же позитивный.

Цитата (johniek_comp)
мне вот очень нравится учится!

вот это правильно, как учитель завещал.

Stasonix, а новую информацию, о магии кавычек, запиши в тетрадку, а то забудешь и будешь спрашивать то же самое по новой.

Спустя 19 часов, 42 минуты, 27 секунд (11.06.2012 - 12:37) Stasonix написал(а):
Michael
не забуду и мста моя страшная (к mysql).
Быстрый ответ:

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