В чем разница между следующими двумя запросами?
mysql_query("UPDATE table SET name = '$name'"); mysql_query("UPDATE table SET name = '{$name}'");
На стороне SQL нет абсолютно никакой разницы: два запроса одинаковы.
(вы можете проверить, что, эхом их)
{$variable} – более полный синтаксис $variable , позволяющий использовать:
"this is some {$variable}s" "{$object->data}" "{$array['data']}" "{$array['data']->obj->plop['test']}" Для получения дополнительной информации вы должны прочитать раздел синтаксиса Variable parseing / Complex (Curly) синтаксиса руководства (со ссылкой на несколько бит) :
Это не называется сложным, потому что синтаксис является сложным, а потому, что он позволяет использовать сложные выражения.
С помощью этого синтаксиса можно включить любую скалярную переменную, элемент массива или свойство объекта со строковым представлением.
Просто напишите выражение так же, как оно появится вне строки, а затем оберните его в{и}.
Кудрявые фигурные скобки «убегают» от переменной PHP и не передаются в MySQL. С простой переменной, такой как $name это не имеет никакого значения, но с чем-то вроде $user['name'] . Таким образом, нет ничего другого между двумя запросами, которые вы разместили в своем вопросе.
Этот запрос можно использовать, если вы хотите передать одну переменную:
mysql_query("UPDATE table SET name = '$name'");
Это можно использовать, если вы передаете значение из определенного индекса массива.
mysql_query("UPDATE table SET name = '{$1}'",$name);
Кстати, ваши оба вопроса были верны и в их средствах.