Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Różnica między zapytaniami do MySQL przy użyciu PDO
Forum PHP.pl > Forum > Przedszkole
Arhimenrius
Witam. Mam problem z zapytaniem MySQL do dodawania rzeczy do bazy. Dałem 2 różne wersje.
1.
  1. $stmt = $db -> prepare("INSERT INTO `users` WHERE `UsName` = :name, `UsPassword` = :pass, `UsEmail` = :mail, `UsLv`= :lvl ");
  2. $stmt -> bindValue(':name', $login, PDO::PARAM_STR);
  3. $stmt -> bindValue(':pass', $pass, PDO::PARAM_STR);
  4. $stmt -> bindValue(':mail', $email, PDO::PARAM_STR);
  5. $stmt -> bindValue(':lvl', "2", PDO::PARAM_STR);
  6. $stmt -> execute();
  7. $stmt = closeCursor;

2.
  1. /*$stmt =$db ->prepare("INSERT INTO users (UsName, UsPassword, UsEmail, UsLv) VALUE (?,?,?,?)");
  2. $stmt -> execute(array($login, md5($pass.sha1($pass)), $email, "2"));
  3. $stmt = closeCursor;*/


Wie może ktoś czemu ta pierwsza wersja nie chce działać? Ja jakoś nie widzę problemu, a taka sama wersja jedynki działa jako logowanie...
by_ikar
To jest forum głównie dla webmasterów, tutaj wróżbitów nie znajdziesz, nikt ci z fusów nie wywróży. No chyba że są tutaj tacy którzy pałają się wróżeniem, w co szczerze mówiąc wątpię. "Nie działa" jak mi ktoś coś takiego mówi, to mnie zawsze strzyka w kolanach. Po czym wnioskujesz że nie działa? Poleconym dostajesz informację że nie działa? Sory za ton, ale zasłużyłeś sobie wink.gif
Arhimenrius
Masz rację, zapomniałem dać dowody że nie działa ^^ już daję wink.gif

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `UsName` = 'Arhi', `UsPassword` = 'pies', `UsEmail` = 'szewczenko007@o2.pl' at line 1' in E:\AppServ\www\ebibliotekarz2\adduser.php:47 Stack trace: #0 E:\AppServ\www\ebibliotekarz2\adduser.php(47): PDOStatement->execute() #1 E:\AppServ\www\ebibliotekarz2\adduser.php(66): AddUser->AddTeacher('Arhi', 'pies', 'szewczenko007@o...') #2 {main} thrown in E:\AppServ\www\ebibliotekarz2\adduser.php on line 47
tomm
bardzo dziwne zapytanie:
  1. INSERT INTO `tabela` WHERE `pole1` = wartosc1, `pole2` = wartosc2...

Chcesz wstawić wiersz który już istnieje i ma określone wartości?
zamiast WHERE uzyj SET
-Arhimenrius-
chodziło bardziej o przecinki zamiast AND/OR w zapytaniu smile.gif ale też dzięki
peter13135
No.. to po prostu jest błędne zapytanie, co widać gołym okiem ? Czego to nie rozumieć ? To tak jak z każdym innym językiem, nawet polskim czy angielskim. Ktoś se ustalił, że ma się mówić tak i tak, i każde odstępstwo może być traktowane jakie błąd językowy.
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.