Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Не выполняется запрос к БД MySQL

420
04 июня 2008 года
Fobos
197 / / 10.03.2006
Господа, помогите разобраться с синтаксисом. Всегда всё работало и всё получалось, но тут работаю над одним проектом и получается что простой запрос INSERT не работает через mysql_query.
Вот пример куска запроса:
Цитата:
INSERT INTO `SS_product_pictures` (photoID, productID, thumbnail, enlarged) VALUES ('55', '55', 'thumbs250632285.jpg', '250632285.jpg');
INSERT INTO `SS_product_pictures` (photoID, productID, thumbnail, enlarged) VALUES ('56', '56', 'thumbs157347514.jpg', '157347514.jpg');
INSERT INTO `SS_product_pictures` (photoID, productID, thumbnail, enlarged) VALUES ('57', '57', 'thumbs417198001.jpg', '417198001.jpg');


В чём тут проблема, ума не дам. Перепробовал все виды ковычек и без них, всеравно пишет ошибку синтаксиса.

Как такое может быть, что этот же запрос код месяц назад работал, а сейчас нет. Могут это быть придури хостинга?

Ещё в догонку интерестный факт: почему-то этот запрос ПРЕКРАСНО срабатывает, когда я его выполняю в phpMyAdmin. НО в запросе mysql_query($zapros, $db), где $zapros - это приведённый выше запрос, а $db - соответственно идент. БД, не выполняется, выдавая ошибку синтаксиса mysql.

БД: Mysql 4.1.22
php 5.2.6


Очень жду ваших ответов! :confused: :(

244
04 июня 2008 года
UAS
2.0K / / 19.07.2006
Насколько помню, в mysql_query() можно только один запрос передавать, а не несколько сразу.. Так что надо разбить этот запрос на 3 запроса
420
04 июня 2008 года
Fobos
197 / / 10.03.2006
UAS
Был и такой вариант, изначально, и без точки с запятой на конце. Но всеравно не работало.
244
05 июня 2008 года
UAS
2.0K / / 19.07.2006
Ну тогда покажите php-код, а то так все равно ниче нельзя сказать.
420
05 июня 2008 года
Fobos
197 / / 10.03.2006
Вот кусок кода
Код:
///Очищаем базу картинок
   
   if (mysql_query("DELETE FROM SS_product_pictures", $db2))
   {echo "База картинок очищена.<br>";}
   else
   {echo "База картинок Не очищена!<br>";}
   
   foreach ($darissimo_arr as $darissimo_prod)
   {
      $exist = false;
     
      $cnt++;
     
      $darissimo_prod_by_values = explode(':|delimitor|:', $darissimo_prod);
     
      $darissimo_id = $darissimo_prod_by_values[0];
      $darissimo_name = $darissimo_prod_by_values[1];
      $darissimo_model = $darissimo_prod_by_values[2];
      $darissimo_price = $darissimo_prod_by_values[3];
      $darissimo_imgurl = $darissimo_prod_by_values[4];
      $darissimo_nal = $darissimo_prod_by_values[5];
     
      foreach ($lavka_ids_arr as $lavka_ids)
      {        
         if ($darissimo_id == $lavka_ids)//Проверяем на наличие
         {
            $exist = true;
            $break;
         }
      }
      ///Вставляем данные о товарах
      if ($exist == true)
      {
         if (mysql_query("UPDATE SS_products SET productID='$darissimo_id', categoryID='0', name='$darissimo_name', Price='$darissimo_price', in_stock='$darissimo_nal', enabled='$darissimo_nal', product_code='$darissimo_model' WHERE productID=$darissimo_id LIMIT 1", $db2))
         {
            $prod_ex_cnt++;
            //Обновляем картинку
            //if ($darissimo_imgurl != '')
            mysql_query("INSERT INTO SS_product_pictures (photoID, productID, filename, thumbnail, enlarged) VALUES ('$darissimo_id', '$darissimo_id', '', 'thumbs$darissimo_imgurl.jpg', '$darissimo_imgurl.jpg'", $db2);              
            if ($cnt >= 100)//Индикатор процесса
            {
               echo ".";
               $cnt = 0;
            }
         }
      }
      else
      {
         if (mysql_query("INSERT INTO SS_products (productID, categoryID, name, Price, in_stock, enabled, product_code) VALUES ('$darissimo_id', '0', '$darissimo_name', '$darissimo_price', '$darissimo_nal', '$darissimo_nal', '$darissimo_model')", $db2))
         {
            $prod_cnt++;
            mysql_query("INSERT INTO SS_product_pictures (photoID, productID, filename, thumbnail, enlarged) VALUES ('$darissimo_id', '$darissimo_id', '', 'thumbs$darissimo_imgurl.jpg', '$darissimo_imgurl.jpg'", $db2);  
            if ($cnt >= 100)//Индикатор процесса
            {
               echo ".";
               $cnt = 0;
            }
         }
      }
   }
13
05 июня 2008 года
RussianSpy
3.0K / / 04.07.2006
Цитата: UAS
Насколько помню, в mysql_query() можно только один запрос передавать, а не несколько сразу.. Так что надо разбить этот запрос на 3 запроса



Можно отправлять сколько хочешь запросов. Главное чтобы были правильно написаны.


2Fobos:
1) Убери кавычки от числовых значений

2) Правильно писать не

 
Код:
DELETE FROM SS_product_pictures

для очистки таблицы, а
 
Код:
TRUNCATE SS_product_pictures


3) Не забываем ставить точку с запятой после окончания запроса.
4) Какую именно ошибку пишет скрипт? Приведи текст ошибки
15
05 июня 2008 года
shaelf
2.7K / / 04.05.2005
RussianSpy Выползай из консоли давай и отдыхать побольше)))
1. Точка с запятой после запроса в mysql_query НЕ нужна
2. Если ты мне покажешь, как выполнить в mysql_query несколько запросов (INSERT INTO tableName (id, name) VALUES(1, 'test'), (2, 'sdf'), .... не в счёт :))
244
06 июня 2008 года
UAS
2.0K / / 19.07.2006
Цитата: RussianSpy
Можно отправлять сколько хочешь запросов. Главное чтобы были правильно написаны.


Как ни странно, но у меня несколько вопросов, например несколько INSERT'ов, не работают, если их выполнять через один mysql_query

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог