Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: '.intval($id).' czy \''.intval($id).'\'
Forum PHP.pl > Forum > Przedszkole
Guest
w mysql co lepiej stosowac, to:
  1. .. WHERE `id` =\''.intval($id).'' ...


czy to:

  1. .. WHERE `id` ='.intval($id).' ...


czy to jest bez roznicy.. ?
dtb
domyślam się że id jest typu integer (liczba naturalna). to jest tak samo jabyś użył:

  1. <?php
  2. echo '100';
  3. ?>


zamiast

  1. <?php
  2. echo 100;
  3. ?>


niby to samo, ale dla liczb powinno się stosować drugi sposób.
Guest
chdozi mi bardziej o to czy to nei wplywa jakos na szybkosc zapytania...
dtb
wydaje mi sie ze wplywa. sprawdz sam czy to ma jakies znaczenie:

for -> microtime
Guest
wlasnie sprawdzilem i nie widze roznicy... ale co bedzie gdy danych bedzie sporo wiecej snitch.gif
dtb
zrób tak:


  1. <?php
  2. function mt(){ 
  3.  list($usec, $sec) = explode(" ",microtime()); 
  4.  return ((float)$usec + (float)$sec); 
  5. } 
  6. $t1 = mt();
  7. for ($i=0; $i<10000; $i++){
  8. // tu wstaw zapytanie 1
  9. }
  10. $t1 = mt() - $t1;
  11.  
  12. $t2 = mt();
  13. for ($i=0; $i<10000; $i++){
  14. // tu wstaw zapytanie 2
  15. }
  16. $t2 = mt() - $t2;
  17.  
  18. echo '1-'.$t1.'<br/>'.2-'.$t2;
  19. ?>


jezeli przy tak duzej ilosci zapytan nie bedzie wiekszych roznic, to oba zapytania powinny byc rownie wydajne.
nospor
w mysql wartosci liczbowe nie daje sie w ciapkach ''. To jest bledem. Mysql to chwyta, ale i tak jest to niepoprawne. Tak wiec rozwazanie czy jest to szybsze czy wolniejsze nie ma tu sensu, gdyz jest to bledne smile.gif
Jesli wiesz ze id zawsze bedzie liczba to nawet nie musisz na nim robic intval. Mozna to robic, by uniknac systuacji, gdy ktos w miejsce id poda jakis string.

  1. <?php
  2.  
  3. $zap = 'select * from tabela WHERE `id` ='.$id;
  4.  
  5. ?>
Guest
thx, chyba pousuwam wszedzie tamte znaki...
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.