Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Różne wyniki po uruchomieniu skryptu w przeglądarce i cronie
patrycjaBS
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 25.11.2012
Skąd: Pszczyna

Ostrzeżenie: (0%)
-----


Mam małą zagwozdkę. Napisałam system aktualizacji towarów do SOTESHOP i jednym z procesów zachodzących podczas aktualizacji jest przepisanie pliku XML dostawcy do tabeli w bazie danych. Jeżeli skrypt, który się tym zajmuje uruchamiam ręcznie - w przeglądarce - wszystkie wartości wpisywane do bazy danych są prawidłowe. Jeżeli ustawię to jako zadanie cron, w kilku pozycjach w bazie danych pojawiają się wartości nieprawidłowe np. stan magazynowy (w pliku 0 szt., w bd 1 szt.). Z czego może wynikać taka różnica?
Go to the top of the page
+Quote Post
rocktech.pl
post
Post #2





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

Ostrzeżenie: (0%)
-----


Witam.

Pokaż kod newralgicznych fragmentów.


  1. //Sprawdź czy wartość poniższej stałej jest taka sama dla PHP_SAPI === 'cli' i PHP_SAPI = 'apache2handler' .
  2. print PHP_VERSION_ID;
Go to the top of the page
+Quote Post
patrycjaBS
post
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 25.11.2012
Skąd: Pszczyna

Ostrzeżenie: (0%)
-----


wersja ta sama

fragment pliku XML dostawcy:

  1. <data>
  2. <product_list>
  3. <product>
  4. <product_id>23123</product_id>
  5. <product_name>nazwa</product_name>
  6. <product_code>kod</product_code>
  7. <category_id>7</category_id>
  8. <brand>producent</brand>
  9. <price_b2b_net>610.00</price_b2b_net>
  10. <price_retail_gross>910.00</price_retail_gross>
  11. <price_retail_gross_with_discount>910.00</price_retail_gross_with_discount>
  12. <quantity>0</quantity>
  13. </product>
  14. </product_list>
  15. </data>


pobranie wartości z cennika i zapisanie do zmiennych:
  1. $xml = new SimpleXMLElement($cennik);
  2. foreach($xml->product_list->product as $product)
  3. {
  4. $product_id = (int)$product->product_id;
  5. $product_name = $product->product_name;
  6. $product_code = $product->product_code;
  7. $category_id = (int)$product->category_id;
  8. $brand = $product->brand;
  9. $price_b2b_net = (float)$product->price_b2b_net;
  10. $price_retail_gross = (float)$product->price_retail_gross;
  11. $price_retail_gross_with_discount = (float)$product->price_retail_gross_with_discount;
  12. $quantity = (int)$product->quantity;
  13. }


zapytanie aktualizujące:
  1. $zapytanie = 'UPDATE _aktualizacja_cennik SET '
  2. .'product_name=\''.addslashes($product_name).'\', '
  3. .'product_code=\''.addslashes($product_code).'\', '
  4. .'category_id='.$category_id.', '
  5. .'brand=\''.addslashes($brand).'\', '
  6. .'price_b2b_net='.$price_b2b_net.', '
  7. .'price_retail_gross='.$price_retail_gross.', '
  8. .'price_retail_gross_with_discount='.$price_retail_gross_with_discount.', '
  9. .'quantity='.$quantity.', '
  10. .'ostatnio_w_cenniku=\''.date("Y-m-d").'\' '
  11. .'WHERE product_id='.$product_id;
  12. $wynik = $mysqli->query($zapytanie);


wątpię, że to coś w kodzie (chyba, że brakującego;)) - skrypt uruchamiany z przeglądarki działa ok.

fragment zapytania wygenerowanego podczas uruchomienia przez przeglądarkę:
  1. UPDATE _aktualizacja_cennik SET product_name='nazwa', product_code='kod', category_id=7, brand='producent', price_b2b_net=610, price_retail_gross=910, price_retail_gross_with_discount=910, quantity=0...

fragment zapytania wygenerowanego podczas uruchomienia przez cron:
  1. UPDATE _aktualizacja_cennik SET product_name='nazwa', product_code='kod', category_id=7, brand='producent', price_b2b_net=610, price_retail_gross=910, price_retail_gross_with_discount=910, quantity=1...

(IMG:style_emoticons/default/sad.gif)

kodowanie wszędzie (baza, skrypty, plik) UTF-8

Temat można zamknąć, problem był idiotyczny i związany ze ścieżką do pliku XML - w skrypcie była podana ścieżka względna, zamiast bezwzględnej.

Ten post edytował patrycjaBS 15.05.2013, 10:32:00
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 14:25