Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]WHERE .. AND ...
fallingone
post 20.06.2008, 11:03:00
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 7.06.2008

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


Dlaczego w zapytaniach bezpośrednich do MySQL'a mozna stosowac WHERE ... AND ... a przez php tylko jak się oddzieli przecinkami?? Z tego, co pamiętam to w 4 nie było tego problemu.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
mike
post 20.06.2008, 11:05:26
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Podaj przykład bo nie mam zielonego pojęcia o co Ci chodzi.
Bo zarówno w PHP jak i w SQL zapytania składa się tak samo. W SQL po prostu je pisząc a w PHP składając ze stringów. Rezultat jest ten sam.
Go to the top of the page
+Quote Post
JoShiMa
post 20.06.2008, 11:07:36
Post #3





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


Cytat(fallingone @ 20.06.2008, 10:03:00 ) *
a przez php tylko jak się oddzieli przecinkami??

Jak to przecinakmi questionmark.gif blinksmiley.gif


--------------------
Go to the top of the page
+Quote Post
fallingone
post 20.06.2008, 11:27:37
Post #4





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 7.06.2008

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


z tymi przecnikami to przejęzyczenie:D Moze inaczej, co tutaj jest źle napisane:

$query = "SELECT * FROM `users` WHERE nick='$login' AND haslo='$haslo'";
$result2 = @mysql_query ($query);

if ($result2)
{ \\zalogowany
}
Go to the top of the page
+Quote Post
mike
post 20.06.2008, 11:40:38
Post #5





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Złe jest to że traktujesz zmienną $result2 jako zmienną logiczną a to zmienna typu resource.
Przez to, że tak robisz PHP rzutuje to na zmienną logiczną i zawsze wychodzi true przez co warunek logiczny w if jest zawsze spełniony.

Poczytaj sobie najpierw co zwraca funkcja mysql_query() i co się z tym robi.
Go to the top of the page
+Quote Post
JoShiMa
post 20.06.2008, 11:41:16
Post #6





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


To nie przecinki tylko apostrofy i trzeba nimi otaczać dane jeśli wpisujesz je do pól w bazie, które mają format inny niż numeryczny. O ile się nie mylę nazwa tablicy nie musi być podawana w apostrofach.

Ten post edytował JoShiMa 20.06.2008, 11:42:30


--------------------
Go to the top of the page
+Quote Post
mike
post 20.06.2008, 11:41:21
Post #7





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Aaa i wywal małpę z kodu. One tylko zaciemniają i ogłupiają tongue.gif

~JoShiMa nazwa tablicy nie jest ujęta w apostrofy tylko w odwrócone apostrofy i nie zawsze są one zbędne.
Dlatego warto z nich korzystać.

Ten post edytował mike 20.06.2008, 11:46:22
Go to the top of the page
+Quote Post
marcio
post 20.06.2008, 11:44:13
Post #8





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


  1. <?php
  2. $query = "SELECT * FROM `users` WHERE nick='$login' AND haslo='$haslo'";
  3. $result2 = @mysql_query ($query);
  4.  
  5. if ($result2)
  6. { zalogowany
  7. }
  8. ?>

A moze cos w ten desen jak juz cos:
  1. <?php
  2. $query = ('SELECT * FROM users WHERE nick = "'.$login.'" AND haslo = "'.$haslo.'"');
  3. $result2 = mysql_query($query) or die(mysql_error());
  4.  
  5. if (mysql_num_rows($result2) > 0) {
  6.  zalogowany
  7. }
  8. ?>


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
JoShiMa
post 20.06.2008, 13:02:25
Post #9





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


Cytat(mike @ 20.06.2008, 10:41:21 ) *
~JoShiMa nazwa tablicy nie jest ujęta w apostrofy tylko w odwrócone apostrofy i nie zawsze są one zbędne.
Dlatego warto z nich korzystać.


~mike co do odwróconych apostrofów (znaczy nazwy tego znaczka) to oczywiście masz rację. Co do reszty to małe sprostowanie. Pisząc nie musi miałam na myśli to, że ich brak nie jest błędem składniowym i sądzę, że tu przyznasz mi rację. Za to ich obecność jest przydatna jeśli nazwa tabeli nie jest statycznie wpisana w kod lecz jest dynamiczna. odwrócone apostrofy zwiększają wtedy bezpieczeństwo i co do tego nawet ja nie mam wątpliwości cool.gif

A piszą to wszystko nie po to, żeby dyskutować, bo nie ma o czym w zasadzie, ale po to, żeby autor wątku i inni czytający mieli w tej kwestii jasność.


--------------------
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: 14.08.2025 - 01:28