Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] ZAPYTANIE UPDATE NIE DZIAŁA
Forum PHP.pl > Forum > Przedszkole
-gregory-
Robię w PHP już kilka lat, ale tutaj zgłupiałem już kompletnie, zapytanie raz działa, raz nie, loteria, tymczasem wg logów wszystko jest zawsze OK

# $rek - rekord z tej samej bazy, który edytuję

$query="UPDATE DZIALKI SET magazyn=ROUND(magazyn-".round($jednostkamat3,4).",4),magazynout=ROUND(magazynout+".round($jednostka3,4).",4) WHERE id='".$rek["id"]."'";
$sqlret=mysql_query($query,$link);

fputs($bbb,"magazyn: ".$rek["magazyn"]." minus $jednostkamat3, magazynout: ".$rek["magazynout"]." plus $jednostka3, QUERY $query, SQLERROR: ".mysql_error().", SQLRET $sqlret, SQLERRNO ".mysql_errno().", link $link, AFFECTED ROWS: ".mysql_affected_rows($link)."\n");

oczywiście w bazie nie ma żadnej zmiany (tak jakby zapytanie nie powiodło się) ale z pliku $bbb mam dane:

magazyn: 32130.0000 minus 1190,
magazynout: 7107.2304 plus 789.593,
QUERY UPDATE DZIALKI SET magazyn=ROUND(magazyn-1190,4),magazynout=ROUND(magazynout+789.593,4) WHERE id='130',
SQLERROR: ,
SQLRET 1,
SQLERRNO 0,
link Resource id #9,
AFFECTED ROWS: 1

/podzieliłem po przecinkach na nowe linie żeby było łatwiej czytać/

I wszystko wygląda cacy tylko, że dane w bazie nie zmieniają się :/
Myślałem, że brak pamięci/procesora/miejsca na dysku twardym na serwerze ale wszystko gra.
I NIE MAM POJĘCIA O CO CHODZI - wszystkie znaki na niebie i ziemi wskazują, ze jest OK, ale dane w bazie NIE ZMIENIAJĄ SIĘ.

Ma ktoś jakiś pomysł?
webdice
1. Po co te duże litery w temacie? Trochę nie ładnie.
2. O bbcode słyszał?

Napisz swój post jeszcze raz, poprawnie z propozycją nazwy tematy który opisuje problem.

PS. "Robisz w PHP już kilka lat" i nadal piszesz dziurawe aplikacje.
-gregory-
Proszę wybaczyć duże litery, nie wiedziałem, że ma to znaczenie, a szedłem na CAPSie.
Nie uważam także, żeby replikowanie postu z tego powodu miało sens, ewentualnie proszę admina o korektę tematu w kwestii wielkości liter.
"dziury" nie komentuję, ponieważ uprościłem kod do możliwie najbardziej czytelnej postaci

Byłbym wdzięczny za odniesienie się do istoty problemu, niekoniecznie netykiety, którą w tym przypadku nieświadomie nagiąłem

dodam jeszcze jako ciekawostkę w istocie zaprezentowanego problemu

2012-12-28 20:20
magazyn: 32130.0000 minus 1190,
magazynout: 7107.2304 plus 789.593,
QUERY UPDATE DZIALKI SET magazyn=ROUND(magazyn-1190,4),magazynout=ROUND(magazynout+789.593,4) WHERE id='130',
SQLERROR: ,
SQLRET 1, SQLERRNO 0,
link Resource id #9,
AFFECTED ROWS: 1

2012-12-28 20:25
magazyn: 32130.0000 minus 1190,
magazynout: 7107.2304 plus 789.593,
QUERY UPDATE DZIALKI SET magazyn=ROUND(magazyn-1190,4),magazynout=ROUND(magazynout+789.593,4) WHERE id='130',
SQLERROR: ,
SQLRET 1,
SQLERRNO 0,
link Resource id #9,
AFFECTED ROWS: 1

2012-12-28 20:30
magazyn: 30940.0000 minus 1190,
magazynout: 7896.8234 plus 789.593,
QUERY UPDATE DZIALKI SET magazyn=ROUND(magazyn-1190,4),magazynout=ROUND(magazynout+789.593,4) WHERE id='130',
SQLERROR: ,
SQLRET 1,
SQLERRNO 0,
link Resource id #9,
AFFECTED ROWS: 1

Jak widać po wartości pól magazyn i magazynout zapytanie o
20:20 nie odniosło rezultatu
20:25 prawidłowo update'owało rekord bo w kolejnej "sesji" widac rezultat na polach

Sktypt odpala sie co 5 min i jak widać czasem działa, czasem nie - i to jest najbardziej zastanawiające
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.