Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Spradzenie czy rekord jest już w bazie
patry6123
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 11
Dołączył: 4.12.2014

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


Cześć,
piszę dość spory system, ale zaraz mnie coś trafi ponieważ od godziny męczę się z durnym sprawdzeniem czy rekord jest w bazie.

  1. $nazwa = ctype_alnum($_POST['name']);
  2. $zapytanie = row("SELECT * FROM firma WHERE nazwa = '".$nazwa."'");
  3. if($zapytanie){
  4.  
  5. }
  6. else{
  7.  
  8. }


takie coś nie działa
Go to the top of the page
+Quote Post
rad11
post
Post #2





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


a tak?
  1. $nazwa = ctype_alnum($_POST['name']);
  2. $zapytanie = row("SELECT COUNT(*) FROM firma WHERE nazwa = '".$nazwa."'");
  3. if($zapytanie > 0){
  4.  
  5. }
  6. else{
  7.  
  8. }


a pozatym musisz podac troche wiecej kodu co robi funkcja row ?

Ten post edytował rad11 2.02.2015, 15:45:26
Go to the top of the page
+Quote Post
patry6123
post
Post #3





Grupa: Zarejestrowani
Postów: 72
Pomógł: 11
Dołączył: 4.12.2014

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


Dziękujęexclamation.gif!

Nareszcie

PS. row to mysql_fetch_assoc(mysql_query("Zapytanie"))

EDIT/// Jednak nie... Teraz utyka na ifie nawet gdy nie ma rekordu w bazie

Ten post edytował patry6123 2.02.2015, 15:48:09
Go to the top of the page
+Quote Post
rad11
post
Post #4





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


Do takiego pojedynczego wyciagniecia rekordu lepiej uzyc mysql_fetch_row, a pozatym jak piszesz spory system to zainteresuj sie PDO lub jakims frameworkiem. smile.gif

Cytat(patry6123 @ 2.02.2015, 15:47:00 ) *
Dziękujęexclamation.gif!

Nareszcie

PS. row to mysql_fetch_assoc(mysql_query("Zapytanie"))

EDIT/// Jednak nie... Teraz utyka na ifie nawet gdy nie ma rekordu w bazie


a co zwraca var_dump($zapytanie); ?
Go to the top of the page
+Quote Post
patry6123
post
Post #5





Grupa: Zarejestrowani
Postów: 72
Pomógł: 11
Dołączył: 4.12.2014

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


array(1) { [0]=> string(1) "0" }
Go to the top of the page
+Quote Post
rad11
post
Post #6





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


No to w else powinien wpadac?
Go to the top of the page
+Quote Post
untorched
post
Post #7





Grupa: Zarejestrowani
Postów: 318
Pomógł: 76
Dołączył: 27.12.2011
Skąd: Dąbrowa Górnicza

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


Cytat(rad11 @ 2.02.2015, 15:55:14 ) *
No to w else powinien wpadac?


Nie. string(1) "0" != int 0
Go to the top of the page
+Quote Post
patry6123
post
Post #8





Grupa: Zarejestrowani
Postów: 72
Pomógł: 11
Dołączył: 4.12.2014

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


To ma działać tak, że jak rekord będzie w bazie to ma wejść w if a jak nie będzie to w else
Go to the top of the page
+Quote Post
rad11
post
Post #9





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


No ja domyslam sie ze to tak ma dzialac to wez sparsuj wynik na int

  1. (int)$zapytanie
Go to the top of the page
+Quote Post
patry6123
post
Post #10





Grupa: Zarejestrowani
Postów: 72
Pomógł: 11
Dołączył: 4.12.2014

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


No tak tylko, że teraz nawet jak nie mam w bazie rekordu to i tak zwraca mi 1
Go to the top of the page
+Quote Post
untorched
post
Post #11





Grupa: Zarejestrowani
Postów: 318
Pomógł: 76
Dołączył: 27.12.2011
Skąd: Dąbrowa Górnicza

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


Cytat(patry6123 @ 2.02.2015, 15:54:16 ) *
array(1) { [0]=> string(1) "0" }

Cytat(rad11 @ 2.02.2015, 15:59:22 ) *
No ja domyslam sie ze to tak ma dzialac to wez sparsuj wynik na int

  1. (int)$zapytanie


Wydałoby chyba (int)$zapytanie[0]

// Update:
A najlepiej
  1. $zapytanie = mysql_num_rows(mysql_query("SELECT ..."));
  2.  
  3. if($zapytanie > 0)
  4. {
  5. // ok
  6. }
  7. else
  8. {
  9. // failed
  10. }


Ten post edytował untorched 2.02.2015, 16:03:20
Go to the top of the page
+Quote Post
patry6123
post
Post #12





Grupa: Zarejestrowani
Postów: 72
Pomógł: 11
Dołączył: 4.12.2014

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


Zrobiłem i teraz zawsze mi przechodzi i wpada do else

Update też nic nie wnosi
Go to the top of the page
+Quote Post
untorched
post
Post #13





Grupa: Zarejestrowani
Postów: 318
Pomógł: 76
Dołączył: 27.12.2011
Skąd: Dąbrowa Górnicza

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


  1. $nazwa = ctype_alnum($_POST['name']);
  2. $zapytanie = mysql_num_rows(mysql_query("SELECT * FROM firma WHERE nazwa = '".$nazwa."'"));
  3.  
  4. var_dump($zapytanie);
  5.  
  6. if((int)$zapytanie > 0){
  7. var_dump($zapytanie);
  8. }
  9. else{
  10. var_dump($zapytanie);
  11. }


I pokaż wynik
Go to the top of the page
+Quote Post
patry6123
post
Post #14





Grupa: Zarejestrowani
Postów: 72
Pomógł: 11
Dołączył: 4.12.2014

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


Dobra już wiem gdzie jest problem. W nazwie miałem spację która blokowała wszystko. Po wywaleniu ctype_alnum() wszystko zaczęło działać
Go to the top of the page
+Quote Post

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: 19.08.2025 - 17:59