Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie SQL - ogranicznik
Forum PHP.pl > Forum > PHP
markonix
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.
d3ut3r
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 + )

toaspzoo
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 smile.gif
Co do łączników - zależy od języka programowania, głównie są to właśnie . + & , .
Yorki
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.
d3ut3r
offtop

Jasne można pisać dodatkowe funkcje, ale o wiele łatwiej szybciej i przyjemniej moim zdaniem skorzystać z PDO i prepared statements.
markonix
Panowie... To był wyłącznie przykład obrazujący istotę problemu 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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.