Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] zapytanie i update
Forum PHP.pl > Forum > Przedszkole
kamilo818
Czemu ten kod nie działa?

  1. if(isset($arrParams[1])){
  2. $sql = "SELECT * FROM members WHERE 'secure_code'='$arrParams[1]'";
  3.  
  4. $result = mysql_query($sql);
  5. if($result === FALSE) {
  6. }
  7. $count = mysql_num_rows($result);
  8.  
  9. if($count==1){
  10. mysql_query("UPDATE members SET zweryfikowany='true' WHERE secure_code='$arrParams[1]'");
  11. echo "<div class='msg'>Konto aktywne!</div>";
  12. }else{
  13. echo "<div class='msg'>Konto już było aktywowane lub nie istnieje!</div>";
  14. }
  15. }


Poprawnie łączę się z bazą danych, same zapytania w bazue tez działają ale nie rozumiem czemu ten kod nie działa.
Gdzie to jest błąd?
Turson
Błędy zapytan: Temat: Jak poprawnie zadac pytanie
var_dump($count); co zwraca?
irekk
Array w stringu obejmuje sie w nawiasy klamrowe. BTW, funkcje mysql_* sa juz zdeprycjonowane.
Turson
@irekk
O jakim arrayu w stringu mówisz? Poza tym nawiasy klamrowe nie są koniecznością.
kamilo818
var dump zwraca: int(0) ;
Turson
WHERE 'secure_code'
nie ' a `
kamilo818
nie rozumiem ?
Turson
Pomyliłeś znaki. Przeczytaj dokladnie temat z mojego 1. posta
kamilo818
Jak zmieniłem na ` tp wywala :
Unknown column 'secure_code' in 'where clause'
zidek
Mi to wygląda na brak takiej kolumny w podanej tabeli biggrin.gif
Turson
Cytat(kamilo818 @ 28.09.2014, 22:50:07 ) *
Jak zmieniłem na ` tp wywala :
Unknown column 'secure_code' in 'where clause'

Angielski się kłania.
kamilo818
Rozumiem treść błędu.
Tylko w bazie jest kolumna o nazwie secure_code, i jak zapytanie jest w ' a nie w ` to znajduje kolumnę.

Turson
Może patrzysz nie na tą tabelę co trzeba. Wklej zapytanie w PhpMyAdmin i zobacz czy się wykona
nospor
Cytat
i jak zapytanie jest w ' a nie w ` to znajduje kolumnę.
facepalmxd.gif
NIe znajduje ci wowczas zadnej kolumny, tlyko traktuje 'secure_code' jako tekst....
Ma byc tak
`secure_code`
albo tak
secure_code
I tylko te dwa wyrazenia są poprawnym zapisem dobierania się do kolumny. I jesli ci baza krzyczy, ze nie ma takiej kolumny, znaczy ze jej NIE MA a ty pewnie źle sprawdzasz co zawiera Twoja tabela. Koniec kripka, nic dodac nic ujac, sprawdz jeszcze raz co ma Twoja tabela.
kamilo818
Własnie w phpmyadmin poprawnie się wykonywalo wszystko. nie wiem gdzie był błąd.
W każdym razie napisałem z reki jeszcze raz to samo i zadziałało :

  1. "SELECT * FROM members WHERE secure_code='$arrParams[1]' AND zweryfikowany='0'";


Może miałem literówke gdzieś.

Dzięki za pomoc
adam882
Nospor dobrze wyjaśnił.
Niepotrzebnie ująłeś na początku kolumnę secure_code między ' '
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.