Помогите с SQL-запросом на обновление данных

Статус
В этой теме нельзя размещать новые ответы.

pierrevk

Постоялец
Регистрация
22 Сен 2009
Сообщения
59
Реакции
5
Приветствую!
Помогите решить простую задачу откровенному нубу в SQL!
Задача такая:
Есть таблица следующей структуры:
PHP:
-- Структура таблицы `jos_vm_category`
-- 
CREATE TABLE `jos_vm_category` (
  `category_id` int(11) NOT NULL auto_increment,
  `vendor_id` int(11) NOT NULL default '0',
  `category_name` varchar(128) NOT NULL default '',
  `category_description` text,
  `category_thumb_image` varchar(255) default NULL,
  `category_full_image` varchar(255) default NULL,
  `category_publish` char(1) default NULL,
  `cdate` int(11) default NULL,
  `mdate` int(11) default NULL,
  `category_browsepage` varchar(255) NOT NULL default 'browse_1',
  `products_per_row` tinyint(2) NOT NULL default '1',
  `category_flypage` varchar(255) NOT NULL,
  `list_order` int(11) NOT NULL,
  PRIMARY KEY  (`category_id`),
  KEY `idx_category_vendor_id` (`vendor_id`),
  KEY `idx_category_name` (`category_name`)
) ENGINE=MyISAM AUTO_INCREMENT=482 DEFAULT CHARSET=cp1251 COMMENT='Категории товаров хранятся здес' AUTO_INCREMENT=482 ;
--
Помогите пожалуйста запрос к мускуле составить, который при условии WHERE `category_name` = '$category_name' ЗАМЕНИТ существующие записи в полях category_thumb_image, category_browsepage, category_flypage на новые значения.
Спасибо!
 
Код:
update `jos_vm_category` set `category_thumb_image`='$category_thumb_image', `category_browsepage`='$category_browsepage', `category_flypage`='$category_flypage', WHERE `category_name` = '$category_name'
 
Код:
update `jos_vm_category` set `category_thumb_image`='$category_thumb_image', `category_browsepage`='$category_browsepage', `category_flypage`='$category_flypage', WHERE `category_name` = '$category_name'


Спасибо EnGeLs!
Однако я неверно построил вопрос... Дело в том, что WHERE `category_name` = '$category_name' в таком виде не будет у меня работать, так как я еще эту самую категорию не выбрал, если я правильно понимаю...

По шагам:
1. я подключаюсь к бд - подключение установлено.
2. далее я беру из файла csv $category_name, $category_flypage ....
3. я так понимаю, я сначала должен обратиться к БД и выбрать категорию... (Здесь затык?!)
4. сделать апдейт.

Добьем?
 
Спасибо EnGeLs!
Однако я неверно построил вопрос... Дело в том, что WHERE `category_name` = '$category_name' в таком виде не будет у меня работать, так как я еще эту самую категорию не выбрал, если я правильно понимаю...
По шагам:
1. я подключаюсь к бд - подключение установлено.
2. далее я беру из файла csv $category_name, $category_flypage ....
3. я так понимаю, я сначала должен обратиться к БД и выбрать категорию... (Здесь затык?!)
4. сделать апдейт.
Добьем?
Да.
PHP:
<?php 
$row = 1; 
$handle = fopen ("test.csv","r"); 
while ($data = fgetcsv ($handle, 1000, ",")) 
{ 
    $num = count ($data); 
    print "<p> $num полей в строке $row: <br>\n"; 
    $row++; 
    for ($c=0; $c < $num; $c++) 
    { 
        print $data[$c] . "<br>\n"; 
    } 
} 
fclose ($handle); 
?>
Зачем и какую категорию выбирать?
Или имеется в виду выбор базы данных?
Подсоедиться можно вот так
PHP:
<?php

mysql_connect("mysql_host", "mysql_login", "mysql_password")
  or die ("Could not connect to MySQL");

mysql_select_db ("my_database")
  or die ("Could not select database");

?>
Этот пример считывает из файла с разделителями "," например, и затем сразу mysql_query запрос на апдейт.
 
Низкий поклон тебе, EnGeLs!
Несколько часов мучал пхп.
делал строчку апдейта в конструкторе PMA - работает.
Делаю через пхп - не работает - пишет мол, незнакомый апачу синтаксис.
А оказалось... там, черт побери, кавычки разные ))
На мониторе в дримвивере все мелко - не видно разницы, и в PMA не видно. На форуме разница четко видна - буквы крупные!
И если бы я разницу эту почуял сразу! Твой самый первый ответ решает все проблемы без заморочек, не надо никакого выбора итп.
ПС: а как такую косую кавычку ставить, кроме как не копировать из ПМА - я не понял - может в дримвивере можно?
Код:
[COLOR="Red"]`[B][/COLOR]category_flypage[COLOR="Red"]`[/COLOR]='$category_flypage'[/B]
 
данная кавычка не обязательна, если только поле не содержит разделительных символов, как пример тире "-".
находится в стандартной раскладке на клавише с тильдой "~"
 
Sanuch уже ответил. В PMA поля уже и так идут с кавычками, во вкладке "SQL" конструктора запросов слева есть колонка со всеми полями, и при выборе нужного название вставляется с кавычками уже.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху