-gregory-
28.12.2012, 20:19:10
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
28.12.2012, 20:21:59
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-
28.12.2012, 20:48:55
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.