Ошибка при добавлении картинки

Тема в разделе "Базы данных", создана пользователем Alexandr3, 11 фев 2011.

Модераторы: latteo
  1. Alexandr3

    Alexandr3

    Заблокирован
    Регистр.:
    22 апр 2008
    Сообщения:
    429
    Симпатии:
    96
    Есть таблица mysql
    Код:
    -- Структура таблицы `catalog_goods`
    --
    
    CREATE TABLE `catalog_goods` (
      `id` int(11) NOT NULL auto_increment,
      `sid` int(11) NOT NULL default '0',
      `gid` smallint(6) NOT NULL default '0',
      `type` smallint(11) NOT NULL default '0',
      `show` enum('y','n') NOT NULL default 'y',
      `title` varchar(255) NOT NULL default '',
      `icon` varchar(255) NOT NULL default '',
      `small_w` varchar(255) NOT NULL,
      `small_h` varchar(255) NOT NULL,
      `description` text NOT NULL,
      `photo` varchar(255) NOT NULL,
      `big_w` varchar(8) NOT NULL,
      `big_h` varchar(8) NOT NULL,
      `text` text NOT NULL,
      `position` int(11) NOT NULL default '0',
      `width` varchar(128) NOT NULL,
      `height` varchar(128) NOT NULL,
      `depth` varchar(128) NOT NULL,
      `price` varchar(128) NOT NULL default '0',
      `add1` varchar(255) NOT NULL default '',
      `add2` varchar(255) NOT NULL default '',
      `date_creation` datetime NOT NULL default '0000-00-00 00:00:00',
      `date_edit` datetime NOT NULL default '0000-00-00 00:00:00',
      PRIMARY KEY  (`id`),
      FULLTEXT KEY `description` (`description`),
      FULLTEXT KEY `title` (`title`),
      FULLTEXT KEY `text` (`text`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=151 ;
    При добавлении данных в таблицу вылетает ошибка:
    Код:
    INSERT INTO `catalog_goods` (`sid`, `type`, `title`, `description`, `text`, `icon`, `photo`, `small_w`, `small_h`, `big_w`, `big_h`, `add1`, `add2`, `width`, `height` , `depth`, `price`, `position`, date_creation, date_edit) VALUES('3', '0', '123456', '123456789', '
    ', 'ppmini.jpg', '979f752a894c2b79bf9f552cfc619e3d.jpg', '', '', '700', '447', '','','','','','', '1', 2011-02-11 7:27:31, 2011-02-11 7:27:31'
    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 '7:27:31, 2011-02-11 7:27:31'' at line 1
    
    Подскажите плиз где ошибка в запросе? скрипт не мой исправляю баги.
    Код:
    	$db->query("INSERT INTO `catalog_goods` (`sid`, `type`, `title`, `description`, `text`, `icon`, `photo`, `small_w`, `small_h`, `big_w`, `big_h`, `add1`, `add2`, `width`, `height` , `depth`, `price`, `position`, date_creation, date_edit) VALUES('".$add_to."', '".$_POST['type']."',  '".$title."', '".$description."', '".$text."', '".basename($_FILES['icon']['name'])."', '".$photo["ImageName"]."', '".$icon["width"]."', '".$icon["height"]."', '".$photo["width"]."', '".$photo["height"]."', '".$_POST['add1']."','".$_POST['add2']."','".$_POST['width']."','".$_POST['height']."','".$_POST['depth']."','".$price."', '".($position['MAX(position)']+1)."','".$date."','".$date.")");
    
     
  2. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    похоже что одна кавычка пропущена
    Код:
    $db->query("INSERT INTO `catalog_goods` (`sid`, `type`, `title`, `description`, `text`, `icon`, `photo`, `small_w`, `small_h`, `big_w`, `big_h`, `add1`, `add2`, `width`, `height` , `depth`, `price`, `position`, date_creation, date_edit) 
                VALUES(
                '".$add_to."', '".$_POST['type']."',  '".$title."', '".$description."', '".$text."', 
                '".basename($_FILES['icon']['name'])."', '".$photo["ImageName"]."', '".$icon["width"]."', '".$icon["height"]."', '".$photo["width"]."', 
                '".$photo["height"]."', '".$_POST['add1']."', '".$_POST['add2']."', '".$_POST['width']."', '".$_POST['height']."', 
                '".$_POST['depth']."', 
                '".$price."', 
                '".($position['MAX(position)']+1)."', 
                '".$date."', 
                '".$date."[SIZE=6][B][COLOR=Red]'[/COLOR][/B][/SIZE])");
    
    ещё если значения переменных не экранированы от кавычек и попадётся текст с кавычками то будут проблемы
    PHP:
    $text mysql_real_escape_string($text);
     
    Alexandr3 нравится это.