MySQL Brackets? - PullRequest
       12

MySQL Brackets?

3 голосов
/ 30 января 2010

В последнее время я видел много вопросов по PHP / MySQL, которые заключают значения SQL в {}, например:

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

Что с этим? Это даже верно? Почему так много людей используют этот странный (по крайней мере для меня) синтаксис?

Ответы [ 2 ]

7 голосов
/ 30 января 2010

С php.net :

Сложный (фигурный) синтаксис

Это не называется сложным, потому что Синтаксис сложен, но потому что он позволяет использовать комплекс выражения.

Фактически, любое значение в пространстве имен может быть включен в строку с этим синтаксис. Просто напишите выражение так же, как это будет выглядеть вне строки, а затем оберните его в и }. Так как {не может быть избежал, этот синтаксис будет только распознается, когда $ сразу следует за {. Используйте {\ $, чтобы получить литерал {$.

6 голосов
/ 30 января 2010

Они используются для устранения неоднозначности имен переменных и абсолютно необходимы, если вы используете массив в строке в двойных кавычках, например:

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

Не будет работать без брекетов.

Вот еще один отличный пример из PHP.net

$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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...