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 написал(а):
что привело тебя в замешательство?
Твое незнание основ программирования?

Спустя 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 написал(а):

Спустя 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).
не забуду и мста моя страшная (к mysql).