Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Czy tak ma wygląać funkcja?
-TreleMorela-
post 9.06.2012, 15:59:45
Post #1





Goście







Witam.
Czy tak ma wyglądać funkcja sprawdzająca czy dany rekord istnieje w bazie?

  1. public function sprawdz($sql) {
  2. $result = mysql_num_rows($sql, $this->connection);
  3. if ($result >0){
  4. $istnieje = '1';
  5. }
  6. else{
  7. $istnieje = '0';
  8. }
  9. return $istnieje;
  10. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
konrados
post 9.06.2012, 16:12:20
Post #2





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


Nie wspominając o tym, że jest przeskomplikowana bo wystarczyłoby:
  1. return $result >0?return 1:return 0;
to czym jest zmienna $sql?. Co tam dajesz? Powinien być rezultat funkcji mysql_query, tu masz przykład: http://www.w3schools.com/php/func_mysql_num_rows.asp (niestety php.net dzisiaj nie chce działać).

Ten post edytował konrados 9.06.2012, 16:13:11
Go to the top of the page
+Quote Post
-TreleMorela-
post 9.06.2012, 16:34:48
Post #3





Goście







  1. $sql = query($zapytaniel)

Jeśli tak może być to będzie działać
  1. return $result >0?return 1:return 0;
Go to the top of the page
+Quote Post
konrados
post 9.06.2012, 16:42:05
Post #4





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


Ja tam nie wiem, to było pytanie czy stwierdzenie? I co to za funkcja "query"?

Ten post edytował konrados 9.06.2012, 16:42:23
Go to the top of the page
+Quote Post
-Gość-
post 9.06.2012, 16:46:30
Post #5





Goście







  1. return $result->0?return 1:return 0;

Nie działa, biała strona jest.
Go to the top of the page
+Quote Post
Mephistofeles
post 9.06.2012, 16:52:56
Post #6





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


Oczywiście, że nie działa.
To forma skróconego ifa, w tym wypadku po zadziałaniu warunku dostaniesz return return 1 / return return 0.
Poprawnie powinno być
  1. return ($result > 0) ? 1 : 0

Masz włączone raportowanie błędów?

W zasadzie to mogłoby być nawet tak:
  1. return ($result > 0);


Ten post edytował Mephistofeles 9.06.2012, 16:53:55
Go to the top of the page
+Quote Post
konrados
post 9.06.2012, 16:53:22
Post #7





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


No to żeś z siebie wydusił kupę informacji.

Wciąż nie wiem co to jest za funkcja "query".

Poza tym ten kawałek kodu, który dałem nie jest rozwiązaniem problemu - ja tylko wspomniałem, że można prościej.

Wciąż nie wiem też, czym jest zmienna "sql" którą przekazujesz do metody "sprawdz".

Jak na razie ja napisałem więcej od Ciebie, jak tak dalej pójdzie, to raczej nie otrzymasz tu odpowiedzi.

@Mephistofeles: też fakt, za mało kawy dzisiaj:)

Ten post edytował konrados 9.06.2012, 16:55:06
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 Wersja Lo-Fi Aktualny czas: 18.07.2025 - 01:41