• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!

Nie działa zapytanie :/

Status
Not open for further replies.

Aleh

Active Member
Joined
Jan 9, 2009
Messages
1,228
Reaction score
39
Location
Rzeszów
Witam,
mam sobie ifa a w nim dwa polecenia UPDATE i wyświetlanie napisu
PHP:
if($zap2['id'] == $zap['id'])
{
print($zap2['accid']); ///wyswietla dobre id
$SQL->query("UPDATE `accounts` SET `premium_points`=`premium_points`+100 WHERE `id` = ".$zap2['accid'].";"); /// nie działa :/
$SQL->query('UPDATE `smswin` SET `pkt`=1 WHERE `id` = '.$zap2['id'].' LIMIT 1'); /// działa za każdym razem
$main_content .= 'PUNKTY ZOSTALY DODANE!!!'; /// to samo co wyżej
}
Po wpisaniu w bazie danych tego zapytania punkty dodają się tylko w tym skrypcie się nie chcą dodać...
 
Dumpnij $zap['accid'] i zobacz czy tam trzyma dobre account id. W ogole jezeli trzymasz tam stringa to przekonwertuj go na inta (int), bo id chyba tylko inta zaakceptuje ;p.
 
var_dump -> string(7) "7230224", id dobre.
".(int) $zap2['accid']." -> nie działa
jeśli zrobie echo 'UPDATE `accounts` SET `premium_points`=`premium_points`+100 WHERE `id`=".$zap2['accid']."'; i wpisze to co mi się wyświetliło w phpmyadmin to punkty się dodają.
 
PHP:
$punkty = $account_logged->getCustomField("premium_points")+1000;
$account_logged->setCustomField("premium_points",$punkty);
print($punkty);
print($punkty) wyświetla liczbę punków jakie mam mieć po dodaniu ich jednak nie dodają się na konto :/
 
A sprawdziłeś czy konto takie istnieje, i czy udało ci się zalogować na nie - jest taka funkcja, bodajże ::isLoaded().
 
Konto istnieje bo jestem na to konto zalogowany i punkt dodaje sobie $account_logged.

@edit
do każdej zmiennej dodałem (int) i... raz działa raz nie działa.
PHP:
$punkty = $SQL->query("UPDATE `accounts` SET `premium_points`=`premium_points`+'1000' WHERE `id` = ".(int) $zap2['accid']."");
$SQL->query($punkty); /// <-- 454 linia
Warning: PDO::query() expects parameter 1 to be string, object given in D:\Xampp 1.7.3\xampp\htdocs\acc\shopsystem.php on line 454
Zauważyłem, że jak zrobię jakiś błąd w skrypcie, zapiszę i dojdę do tego momentu co ma dodać pkt wywala error. Jak poprawie ten błąd i zrobię jeszcze raz to samo to pkt się dodadzą...
 
Last edited:
PHP:
intval($zmienna)
no i przy końcówce zapytania ."" <- usuń, można zakończyć zmienną i jest przejrzyściej. : )
no i premium_points = premium_points+'1000' <-- bez apostrof, premium points to int, to jak chcesz dodać string?: }
i ogólnie nie wiem, czy zauważyłeś, ale wykonane zapytanie wykonuejsz drugi raz. spróbuj tak:
PHP:
$punkty = "UPDATE `accounts` SET `premium_points`=`premium_points`+1000 WHERE `id` = ".intval($zap2["accid"]);
$SQL->query($punkty);


: )
 
Dzieki, teraz przyszle pokolenia beda wiedziec o co chodzilo i uczyc sie na twoich bledach :thumbup:
 
Status
Not open for further replies.
Back
Top