Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема обновления информации из csv-файла
 
 автор: denvor   (29.04.2005 в 00:34)   письмо автору
 
 

Озадачился загрузкой новых цен в каталог продукции из csv
файла (из Вашей последней книги). Все нормально, но вот запрос к базе на обновление полей не выполняется. Можете наметанным глазом взглянуть, что не так?


<?php
// Разбиваем строку на слова используя $separator
   
foreach($strtmp as $value)
    {
       
$tok strtok ($value,$separator);
        
$price $tok;
       
$tok strtok($separator);
        
$model $tok;
       
$tok strtok($separator);
        
$brand $tok;
      
// для проверки выводим  - тут все нормально
       
echo " Цена = ".$price." Модель= ".$model." Бренд =".$brand."<br>";
     
      
// обновляем в базе значения полей cena и brand в строке где catalognum равен  model
 
$res mysql_query ("UPDATE '$gal_table' SET cena=$price,brand=$brand WHERE catalognum LIKE $model");
?>

   
 
 автор: Serge   (29.04.2005 в 02:17)   письмо автору
 
   для: denvor   (29.04.2005 в 00:34)
 

Попробуй следующий код:


<?php
// Разбиваем строку на слова используя $separator
foreach($strtmp as $value)
  {
  
$tok strtok ($value,$separator);
  
$price $tok;
  
$tok strtok($separator);
  
$model $tok;
  
$tok strtok($separator);
  
$brand $tok;
  
// для проверки выводим  - тут все нормально
  
echo " Цена = $price Модель= $model Бренд = $brand<br>";

  
// обновляем в базе значения полей cena и brand в строке где catalognum равен  model
  
$res mysql_query ("UPDATE '$gal_table' SET cena='$price', brand='$brand' WHERE catalognum LIKE '$model'");
  }
?>


Найденные мною ошибки:
1. В Mysql запросе такие переменные как $price, $brand, $model лучше брать в одинарные кавычки ''.
2. Цикл foreach не был закрыт.

   
 
 автор: denvor   (29.04.2005 в 12:34)   письмо автору
 
   для: Serge   (29.04.2005 в 02:17)
 

Спасибо, все сработало!
Ошибка была в переменной имени таблицы :)

   
 
 автор: cheops   (29.04.2005 в 12:02)   письмо автору
 
   для: denvor   (29.04.2005 в 00:34)
 

Вместо строки
<?php
$res 
mysql_query ("UPDATE '$gal_table' SET cena=$price,brand=$brand WHERE catalognum LIKE $model");
?>

напишите
<?php
if(mysql_query ("UPDATE '$gal_table' SET cena=$price,brand=$brand WHERE catalognum LIKE $model"))
{
  exit(
"Ошибка - ".mysql_error());
}
?>

Чего-нибудь выводит?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования