Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Problem z metoda prepare
Mehis
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 29.09.2015

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


Hej,
Uczę się tworzyć CMS i mam problem z jedną metodą.
Próbuję zrobić autoryzację podczas logowania, według kursu ze strefy kursów.
Wszystko jest ok, do momentu linijki z funkcją prepare().

  1. function validateLogin($user, $pass){
  2. global $Database;
  3.  
  4. if($stmt = $Database->prepare("SELECT * FROM users WHERE username = ? AND password = ?")){
  5.  
  6. $stmt->bind_param("ss", $user,md5($pass.$this->salt));
  7. $stmt->execute();
  8. $stmt->store_result();
  9.  
  10. if($stmt->num_rows >0){
  11. $stmt->close();
  12. return TRUE;
  13. }else{
  14. $stmt->close();
  15. return FALSE;
  16. }
  17. }else{
  18. die();
  19. }
  20. }


$Database było tworzone w innym pliku :
  1. $server = 'localhost';
  2. $user = 'root';
  3. $pass = '';
  4. $db = 'sk_login';
  5.  
  6. $Database = new mysqli($server,$user,$pass,$db);


Plik generuje błąd:
Warning: mysqli::prepare(): Couldn't fetch mysqli in ...

Function Location
prepare ( ) ..\m_auth.php:18


Szukałem odpowiedzi na stackoverflow itp. ale nic mi to nie pomogło.
Ktoś wie, gdzie jest błąd i jak się go pozbyć?
z góry wielkie dzięki:)

Ten post edytował Mehis 29.09.2015, 20:16:33
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


To masz złe podejście. Masz tuta wiele niepotrzebnych operacji.
Cytat
Bo jak znam to uzywam isset($tablica['x']); (czy klucz jest)

Z tym też radzę uważać, bo jesli klucz jest a ma wartość null to wywali false, a powinno true bo klucz jest i ma wartość null, więc trzeba użyć array_key_exists.

Powiem jeszcze raz, nie kombinuj tak bo to się zemści na Tobie bardzo boleśnie.
Go to the top of the page
+Quote Post
KsaR
post
Post #3





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


Cytat(Pyton_000 @ 30.09.2015, 09:59:52 ) *
To masz złe podejście. Masz tuta wiele niepotrzebnych operacji.

Z tym też radzę uważać, bo jesli klucz jest a ma wartość null to wywali false, a powinno true bo klucz jest i ma wartość null, więc trzeba użyć array_key_exists.

Powiem jeszcze raz, nie kombinuj tak bo to się zemści na Tobie bardzo boleśnie.

Zly przyklad dalem i skasowalem 4 minuty temu juz. (IMG:style_emoticons/default/wink.gif) , to nie kombinowanie tylko poprawne programowanie. Dla mnie tak logiczniej wiele. Logiczne uzywanie tego co trzeba itp(tak jak w cytacie w sygnaturze).
"Tylko dlatego że możesz coś, nie oznacza że musisz"
...
Wbrew pozora jak tak dluzej sie pouzywa takie tricki' to juz sie nomalnie wylapuje takie zastosowania, bynajmniej mi tak przychodzi to. Gdy czegos potrzebuje to tego uzywam, gdy nie to nie..

Ten post edytował KsaR 30.09.2015, 09:11:18
Go to the top of the page
+Quote Post
com
post
Post #4





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


Cytat(KsaR @ 30.09.2015, 10:02:25 ) *
Zly przyklad dalem i skasowalem 4 minuty temu juz. (IMG:style_emoticons/default/wink.gif) , to nie kombinowanie tylko poprawne programowanie. Dla mnie tak logiczniej wiele. Logiczne uzywanie tego co trzeba itp(tak jak w cytacie w sygnaturze).
"Tylko dlatego że możesz coś, nie oznacza że musisz"
...
Wbrew pozora jak tak dluzej sie pouzywa takie tricki' to juz sie nomalnie wylapuje takie zastosowania, bynajmniej mi tak przychodzi to. Gdy czegos potrzebuje to tego uzywam, gdy nie to nie..


KsaR Jak już bardzo chcesz tak pisać, to pisz w własnym kodzie którego nikt nie widzi, ale nie ucz takich hacków innych, bo ten sposób nie jest dobry. Bo prędzej czy później przyjdzie komuś ten kod albo debugować, albo refaktorować i wtedy trzeba będzie albo całe wywalić, albo zastanawiać się pół godziny co to ma robić.

Ten post edytował com 30.09.2015, 13:47:36
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 06:16