Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
26 / 3 / 0
Регистрация: 20.06.2012
Сообщений: 106
1

Как заменить данные в ячейках базы, средствами PHP

17.03.2014, 18:19. Показов 4020. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть база с прайс листом, там есть несколько столбцов, мне надо заменить некоторые ячейки в одном столбце, но никак не получается... бьюсь головой об стену...

PHP
1
2
3
4
5
6
7
$id = 'blabla';
$price = 'blablabla';
mysql_query("UPDATE table SET price = $price WHERE id = $id;"); /Прекрасно работает, всё меняется
mysql_query("UPDATE table SET show = 1 WHERE id = $id;"); /Не работает, 
mysql_query("UPDATE table SET show = '1' WHERE id = $id;"); /Не работает, тоже
mysql_query("UPDATE table SET price = $price, show = '1' WHERE id = $id;"); Тоже не пашет
mysql_query("UPDATE table SET (price, show) VALUE ('$price', '1') WHERE id = $id;"); И снова не работает
и вот как мне быть в этой ситуации, что делать или просто повеситься?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2014, 18:19
Ответы с готовыми решениями:

Как обновить данные в таблице БД средствами PHP?
Здравствуйте. Вот мой алгоритм действий: 1. Соединяемся с базой 2. Делаем запрос 3. Получаем...

Как очистить средствами PHP данные форм?
Можно ли очистить данные форм, чтобы они не высвечивались при следующем посещении?

Выборка из базы на неделю средствами php
Привет ! Помогите советом ! Нужно сделать выборку записей из таблицы mysql где есть поле date ...

Выборка из базы на неделю средствами php
Можно ли вибирать данные следующим образом ? задаетца дата - день месяц год надо выбрать все...

10
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
17.03.2014, 18:25 2
PHP
1
2
$id = 'blabla';
echo "UPDATE table SET price = 123 WHERE id = $id;"
Даст запрос
MySQL
1
UPDATE table SET price = 123 WHERE id = blabla;
Если его запустить, то будет ошибка
ERROR 1054 (42S22): Unknown column 'blabla' in 'field list'
Если blabla не брать в кавычки, то текст будет расценен как поле
.. WHERE id = '$id';
1
26 / 3 / 0
Регистрация: 20.06.2012
Сообщений: 106
17.03.2014, 18:33  [ТС] 3
как я уже только не пробовал, и в кавычках и без... сначала всё в кавычках стояло, всё на работало так же как и без кавычек....
первая строка идёт без ошибки нормально выполняется.... я даже так пробовал
PHP
1
2
mysql_query("UPDATE table SET show = 1"); /Не работает, 
mysql_query("UPDATE table SET show = '1';"); /Не работает, тоже
0
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
17.03.2014, 18:36 4
Лучший ответ Сообщение было отмечено sst421 как решение

Решение

Второй момент, слово table служебное и его нужно брать в косые ковычки и желательно все поля тоже
PHP
1
mysql_query("UPDATE `table` SET `show` = '1'");
1
26 / 3 / 0
Регистрация: 20.06.2012
Сообщений: 106
17.03.2014, 18:38  [ТС] 5
у меня в коде вместо table другое слово написано, я его в пример включил, что бы было более читабельно
0
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
17.03.2014, 18:43 6
Вызовите mysql_error(); после запроса, может ошибка какая-то
1
26 / 3 / 0
Регистрация: 20.06.2012
Сообщений: 106
17.03.2014, 18:45  [ТС] 7
сейчас пробежался по другим столбцам, все столбцы нормально меняются, кроме одного SHOW.... кто может это объяснить????
0
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
17.03.2014, 18:46 8
Цитата Сообщение от crautcher Посмотреть сообщение
Второй момент, слово table служебное и его нужно брать в косые ковычки и желательно все поля тоже
потому что оно тоже служеебное, например
MySQL
1
show tables;
1
26 / 3 / 0
Регистрация: 20.06.2012
Сообщений: 106
17.03.2014, 18:49  [ТС] 9
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'show = 0' at line 1

вот она ошибочка
0
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
17.03.2014, 18:54 10
Заведите привычку всегда значения брать в 'кавычки', а поля и таблицы в `косые кавычки` (под ескейпом в английской раскладке), тогда проблем не будет, если даже в sql новые команды введут, которые совпадают с именами таблиц в будущем.
1
26 / 3 / 0
Регистрация: 20.06.2012
Сообщений: 106
17.03.2014, 19:07  [ТС] 11
Спасибо, если бы не вы, я через час точно бы клавиатуру сломал или монитор разбил.... с обеда сижу над этой проблемой...
0
17.03.2014, 19:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2014, 19:07
Помогаю со студенческими работами здесь

Как вытащить из базы все данные с идентичным id на PHP
как вытащить из базы все данные с идентичным id в форму. Пробовал через WHERE city_id='160' но...

Перенос базы из MySQL в PostgreSQL средствами php
Есть база на MySQL. Размер таблиц большой, по 1.5 гига. Необходимо перенести таблицы из MySQL в...

Можно ли предотвратить взлом базы средствами PHP
вот к примеру есть база данных линуксовая для флеш, но чтобы взлом через флеш был маловероятен,...

Массив из 12 ячеек заполнить рандом, заменить нули в ячейках с четным индексом на 1 в ячейках с нечетным на -1
Массив из 12 ячеек, заполнить рандомно числами в диапазоне от -30 до 30. Заменить нули в ячейках с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru