Не выполняется запрос к БД MySQL
Вот пример куска запроса:
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: :(
Был и такой вариант, изначально, и без точки с запятой на конце. Но всеравно не работало.
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;
}
}
}
}
Можно отправлять сколько хочешь запросов. Главное чтобы были правильно написаны.
2Fobos:
1) Убери кавычки от числовых значений
2) Правильно писать не
для очистки таблицы, а
3) Не забываем ставить точку с запятой после окончания запроса.
4) Какую именно ошибку пишет скрипт? Приведи текст ошибки
1. Точка с запятой после запроса в mysql_query НЕ нужна
2. Если ты мне покажешь, как выполнить в mysql_query несколько запросов (INSERT INTO tableName (id, name) VALUES(1, 'test'), (2, 'sdf'), .... не в счёт :))
Как ни странно, но у меня несколько вопросов, например несколько INSERT'ов, не работают, если их выполнять через один mysql_query