MySQL Parantez?

2 Cevap php

Latelly Örneğin ben, {} içinde SQL değerleri içine PHP / MySQL bir çok soru gördüm:

SELECT * FROM table WHERE field LIKE '{$value}';

Bu ne ile oluyor? Hatta geçerli mi? Neden bu kadar çok insan bu garip (en azından benim için) sözdizimi kullanıyorsunuz?

2 Cevap

Dan php.net:

Kompleks (kıvırcık) sözdizimi

This isn't called complex because the syntax is complex, but because it allows for the use of complex expressions.

In fact, any value in the namespace can be included in a string with this syntax. Simply write the expression the same way as it would appear outside the string, and then wrap it in { and }. Since { can not be escaped, this syntax will only be recognised when the $ immediately follows the {. Use {\$ to get a literal {$.

Bu değişken adlarını disambiguate için kullanılır, ve bir çift tırnaklı dize, örneğin içinde bir dizi kullanarak eğer kesinlikle gereklidir:

$SQL = "Select * FROM table WHERE field LIKE '{$value[5]}'";

Parantez olmadan işe yaramaz.

İşte PHP.net diğerine büyük bir örnek

$beer = 'Heineken';
echo "$beer's taste is great"; // works; "'" is an invalid character for variable names
echo "He drank some $beers";   // won't work; 's' is a valid character for variable names but the variable is "$beer"
echo "He drank some ${beer}s"; // works
echo "He drank some {$beer}s"; // works

http://php.net/manual/en/language.types.string.php