Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Błąd UPDATE bazy
Arhimenrius
post
Post #1





Grupa: Zarejestrowani
Postów: 115
Pomógł: 3
Dołączył: 19.04.2011

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


Hmm... pierwszy raz się spotykam z tego typu błędem, i mimo prób obejścia na wszelakie sposoby, jakoś nie daję rady:

  1. $query = "UPDATE `users` SET `uspassword`='$password' WHERE `usid`='$id'";
  2. $stmt = $db -> prepare("SELECT `usid`, `uspassword`, LENGTH(uspassword) FROM `users` WHERE LENGTH(uspassword)<32 ");
  3. $stmt -> execute();
  4. Linia 120: while($row = $stmt -> fetch(PDO::FETCH_ASSOC))
  5. {
  6. $password = password($row['uspassword']);
  7. $id = $row['usid'];
  8. $stmt = $db -> prepare($query);
  9. $stmt -> execute();

Zwraca błąd: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error' in E:\AppServ\www\ebibliotekarz\class\user.php:120
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




tego samego $stmt używasz zarówno do polecnia select jak i update. Problem w tym, że update leci w petli select, która to ciagle korzysta ze $stmt wiec je nadpisujesz. Mysl troche.

ps:
$query = "UPDATE `users` SET `uspassword`='$password' WHERE `usid`='$id'";
przecież zmienną $password ustawiasz dopiero w petli, wiec na tym etapie to zapytanie wyglada tak:
$query = "UPDATE `users` SET `uspassword`='' WHERE `usid`='$id'";
I tak już bedzie wygladac do konca.
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.10.2025 - 18:56