Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz
  • 0

Problem Funkcja PHP


McKijus

Pytanie

Opublikowano
function addMoney(){
        require_once('dbpdo.php');
        $showre = $pdo->query('SELECT * FROM user WHERE uniqueID="dsds" OR login="dada"');
        foreach($showre as $row){ 
             $money = $row['wallet'];
             $money += 0.05; 
             $pdo->exec('UPDATE `user` SET `wallet`='.$money.' WHERE login="dada"');
        }   
        
    } 

Witam mam taką funkcję, moje pytanie..czemu ona nie działa?

1 odpowiedź na to pytanie

Rekomendowane odpowiedzi

Opublikowano

Trudno zgadnac, ale najpierw bym sprawdzi czy dane sa czytane ($row).

A raczej nei czyta bo brakuje fetch np

$query = $pdo->query('SELECT * FROM user WHERE uniqueID="dsds" OR login="dada"');
$showre = $query->fetchAll(PDO::FETCH_ASSOC);

Inna sprawa to po co Ci dodatkowa zmienna na kase?

Wystarczyloby

$pdo->exec('UPDATE `user` SET `wallet`=' . ($row['wallet'] + .05) . ' WHERE login="dada"');

albo samo MySQL

$pdo->exec('UPDATE `user` SET `wallet` = `wallet` + 0.05  WHERE login="dada"');

Tak teraz patrze, ze czytasz dane spelniajace warunek

uniqueID="dsds" OR login="dada"

ale aktualizacje robisz dla

login="dada"

moze w okreslonej sytuacji przechodzi jako uniqueID i na tym bym sie skupil przy aktualizacji

$pdo->exec('UPDATE `user` SET `wallet` = `wallet` + 0.05  WHERE `uniqueID` = "' . $row['uniqueID'] . '"');

 

Tak to jest odpisywac na szybko :/

 

Z budowy tego SELECT-a wychodzi, ze warunek spelni 1 osoba (a jak przekazujesz te "dada" i/lub "dsds"?). Wtedy cala funkcja moze wyglada tak

function addMoney()
{
    require_once ('dbpdo.php');
    $pdo->exec('UPDATE `user` SET `wallet` = `wallet` + 0.05 WHERE `uniqueID` = "dsds" OR `login` = "dada"');
}

 

Lepiej jest nie odzywać się wcale i pozwolić ludziom myśleć, że jesteś glupi, niż odezwać się i rozwiać wszelkie wątpliwości.
Mark Twain

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...