Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapytanie SQL - ogranicznik, Cudzysłów czy apostrof
markonix
post
Post #1





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


http://4programmers.net/PHP/Debugowanie_kodu_php

3 akapit wspomina o używaniu apostrofów.
Rozumiem i wiem, że są one szybsze w przypadku stringów ale czy niosą one jakąś dodatkową korzyść w przypadku funkcji *_query, że autor o tym w ogóle wspomina w artykule o debugowaniu?

  1. mysql_query("SELECT * FROM `". prefix ."tabela` WHERE `zmienna` = '". mysql_real_escape_string($_GET['txt']) ."' AND `inna` = '$inna' AND `id` = ". (int)$_GET['id']);
  2.  
  3. mysql_query('SELECT * FROM `'. prefix .'tabela` WHERE `zmienna` = "'. mysql_real_escape_string($_GET['txt']) .'" AND `inna` = "'. $inna .'" AND `id` = '. (int)$_GET['id']);


Osobiście używam apostrofów ale przy zapytaniach zawsze używałem cudzysłów ze względu na krótszy zapis i "oszczędność" linii kodu.
Go to the top of the page
+Quote Post
d3ut3r
post
Post #2





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


Jak dla mnie zapis 'test'.$zmienna; jest najbardziej czytelnym zapisem bez względu na to czy jest to zapytanie SQL, czy cokolwiek innego. Poza tym to kwestia przyzwyczajenia. Oczywiście na początku, każdemu jest łatwiej zapisać "test $zmienna"; na szczęście powoli standardem staje się zapis z użyciem apostrofu. Być może w wersji xxx w ogóle zrezygnuje się ze zmiennych w ""

Programując w innych językach łatwiej sobie wyrobić nawyk z apostrofem. W większości języków mamy do czynienia z jakimś operatorem łączącym (najczęściej . lub + )

Go to the top of the page
+Quote Post
toaspzoo
post
Post #3





Grupa: Zarejestrowani
Postów: 778
Pomógł: 84
Dołączył: 29.07.2010
Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury.

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


Czemu filtrujesz dane dopiero w zapytaniu, napisz funkcję, która będzie zabezpieczała całą tablicę post/get.

Osobiście używam jednego i drugiego, w zależności od złożoności zapytania.
Zapis z łącznikami jest czytelny, wyrabia dobre nawyki i jest przede wszystkim szybciej przetwarzany (IMG:style_emoticons/default/smile.gif)
Co do łączników - zależy od języka programowania, głównie są to właśnie . + & , .

Ten post edytował toaspzoo 12.08.2012, 12:57:43
Go to the top of the page
+Quote Post
Yorki
post
Post #4





Grupa: Zarejestrowani
Postów: 45
Pomógł: 2
Dołączył: 12.09.2005

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


Cytat(toaspzoo @ 12.08.2012, 11:55:15 ) *
Czemu filtrujesz dane dopiero w zapytaniu, napisz funkcję, która będzie zabezpieczała całą tablicę post/get.


Dokładnie, albo funkcję która będzie odpowiednio filtrowała dane wcześniej w zależności od typu oczekiwanego.
Go to the top of the page
+Quote Post
d3ut3r
post
Post #5





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


offtop

Jasne można pisać dodatkowe funkcje, ale o wiele łatwiej szybciej i przyjemniej moim zdaniem skorzystać z PDO i prepared statements.
Go to the top of the page
+Quote Post
markonix
post
Post #6





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Panowie... To był wyłącznie przykład obrazujący istotę problemu (IMG:style_emoticons/default/wink.gif)
Chciałem pokazać wszystkie możliwe przypadku po prostu.

Ogólnie używam na codzień PDO bądź ActiveRecord.
Z mysql_ zdarza mi się korzystać wyłącznie przy jednorazowych skryptach bądź modyfikacji starych skryptów/systemów.

Ten post edytował markonix 13.08.2012, 09:32:02
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.08.2025 - 06:52