Ребята помогите а то чтото непонятное творится. Делаю запрос в базу через php следуюсчего вида: UPDATE table_name SET `field1` = `field1` + '1160' , `field2` = `field2` + '1160' , `field3` = `field3` - '1' WHERE `id` = '1' ; field1 и field2 = double(132,8) field3 = int Все проходит без единой ошибки НО к field1 и field2 не приплюсовуются значения но зато field3 без проблем отнимаеться. Но если захожу через PHPMyAdmin и запускаю этот запрос то все обрабатываеться на ура. И тут же прикол что в другом php файле почти такойже запрос к этим же полям и все тоже проходит на ура. В чем может буть проблема? а то мелочь такая а уже часа 4 немогу разобраться
$QryUpdate = "UPDATE {{table}} SET "; $QryUpdate .= "`price1` = `price1` + '".($price)."', "; $QryUpdate .= "`price2` = `price2` + '".($price)."', "; $QryUpdate .= "`count` = `count` - '".$count."' "; $QryUpdate .= "WHERE "; $QryUpdate .= "`id` = '". $id ."' ;"; doquery( $QryUpdate, "items");
Прикол в том что в php все проходит нормально кроме отнимания, даже когда делаю echo $QryUpdate; и потом запускаю ето через phpMyAdmin то все работает. Пробовал даже Lock Tables делать но через php не паботает
извиняюсь за оффтоп, но что эта за вещь с ценой Код (Text): 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999.99999999 ? или я может чего-то не понимаю в записи double(132,8) ((
откуда такие бабки?© $QryUpdate = "UPDATE {{table}} SET "; $QryUpdate .= "`price1` = `price1` + '".($price)."', "; $QryUpdate .= "`price2` = `price2` + '".($price)."', "; $QryUpdate .= "`count` = `count` - '".$count."' "; $QryUpdate .= "WHERE "; $QryUpdate .= "`id` = '". $id ."' ;"; echo $QryUpdate; doquery( $QryUpdate, "items");
пробовал и с такими кавычками, и без, и наоборот их ставил.... все тоже... отнимать отнимает а плюсовать ни в какую
То что выводит echo $QryUpdate; прям совсем совсем хорошо через PHPMyAdmin выполняется? Ну это както совсем странно) А что это за функция doquery() и вторая переменная в ней? А мож всетаки в double дело. Попробуйте например прибавить не 1160, а 1160.00000000, или если возможно на время double на инт поменять в одном столбце и глянуть че будет. Или порядок присвоения значений столбцам. ТОесть сначала отнять потом прибавить. Я, черт его, ваще не знаю... а интересно)
Вот это выводит echo: UPDATE table_name SET `price1` = `price1` + '1160' , `price2` = `price2` + '1160' , `count` = `count` - '1' WHERE `id` = '1'; обыкновеная функция которая выполняет запрос к базе, а второй параметр это имя таблицы к которой идет запрос (doquery меняет table_name на этот параметр).
А вот теперь вообще ыже не смешно. Написал простой пхп скрипт только с одним запросом к базе: $que = "UPDATE game_planets SET `price1` = `price1` + '840' , `price2` = `price2` + '840' , `count` = `count` - '1' WHERE `id` = '1' ;"; mysql_query( $que ); echo $que; echo выводит: UPDATE game_planets SET `price1` = `price1` + '840' , `price2` = `price2` + '840' , `count` = `count` - '1' WHERE `id` = '1' ; Отнимать отнимает а плюсовать не хочет