Egy mysql lekérdezésnél miért jó az, ha {} közé kerül egy érték?
Inkább csak átláthatóbb. Ugye PHP-ban kapcsos zárójelben több lehetőséged van. Pl. ha van egy $v változód, ami mondjuk feszültséget jelent és az értéke 5, és ki szeretnéd írni, hogy 5V-os, akkor kapcsos zárójel nélkül valahogy így néz ki: $x . "V-os". Ha úgy írnád, hogy "$xV-os", akkor a $xV nem létező változót keresné az értelmező. Kapcsos zárójellel könnyebb az élet: "{$x}V-os". Vagy a "$tabla_mezo" is a $tabla_mezo változót helyettesítené be, a "{$tabla}_mezo" meg csak a $tabla változó értékét, hozzáfűzve a „_mezo” szöveget.
További előnyei is vannak:
"Érték: {$myarray[0]['val']}"
"Tulajdonság: {$obj->property}"
A kérdésben szereplő példánál nincs semmiféle előnye, maximum annyi, hogy jobban látható, hogy hol van az SQL szövegében változó. A $id ugyanúgy jó, mint a {$id}, ugyanazt az SQL szöveget fogja jelenteni, teljesen ekvivalens egymással a kettő.
SQL szempontjából semmit, ez PHP...
SQL -t nézve inkább: SELECT * FROM `posts` WHERE id='$id'
Persze ez se ér semmit ha $id nincs ellenőrizve, escape -elve.
> SQL -t nézve inkább: SELECT * FROM `posts` WHERE id='$id'
Egyrészt valószínű, hogy az id egy szám, akkor nem szükséges idézőjelek közé zárni, sőt ez egy hangyányit növeli is a feldolgozás idejét, de valóban mérhetetlenül kis mértékben, max. néhány órajelciklussal. (Mivel két karakterrel hosszabb szöveget kell parse-olnia.)
Bár lehet előnye is annak – noha nem szükséges – ha a számokat is idézőjelek közé zárod, pl. ha egy szám jellegű mezőt valamiért szöveggé kell módosítani, akkor jól jöhet.
Másrészt nem tudjuk, hogy mi van az $id változóban. Lehet, hogy ez:
$id = "'" . $mysqli->real_escape_string($_POST['id']) . "'";
Tehát lehet, hogy a $id változó elve tartalmaz idézőjelezést.
> Persze ez se ér semmit ha $id nincs ellenőrizve, escape -elve.
> [link]
Igen, igen… Bólogat, bólogat… :-)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!