Подстановка переменных не выполняется при использовании одинарных кавычек ('), это означает, что значения в вашем первом примере были бы буквально $ 1 $ 2 и т. Д., Если бы это была обычная строка и не передавалась функции, которая их заменяет. 1001 *
Если вам не нужна переменная подстановка, лучше придерживаться одинарных кавычек из соображений производительности.
`` вызывает движок оболочки и вызывает его как фактическую команду и возвращает результат, как в perl. Следовательно, оно имеет совершенно другое значение.
Примеры:
$email = 'user@example.org';
$sql1 = "SELECT user_id FROM users WHERE email = $email";
$sql2 = 'SELECT user_id FROM users WHERE email = $email';
$ sql1 будет SELECT user_id ОТ пользователей, ГДЕ электронная почта = user@example.org
$ sql2 будет SELECT user_id ОТ пользователей, ГДЕ электронная почта = $ email