Как вставить двойные кавычки в переменную в php

Я пытаюсь отправить такой запрос:

$sql = "SELECT ID FROM loto_users WHERE email=".$email." LIMIT 1";
echo $sql; //to control
$result = mysql_query($sql);

Когда я это делаю, он возвращает меня:

ВЫБЕРИТЕ ID ИЗ loto_users, ГДЕ [email protected] ОГРАНИЧЕНИЕ 1

У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с «@gmail.com LIMIT 1» в строке 1.

Затем я попытался запустить эту строку в веб-интерфейсе mysql. Я копирую-вставляю это:

SELECT ID FROM loto_users WHERE [email protected] LIMIT 1

Это дало мне ту же ошибку msg. Затем я добавил двойные кавычки до и после адреса электронной почты:

SELECT ID FROM loto_users WHERE email="[email protected]" LIMIT 1

Теперь он работает... в интерфейсе. Я хочу это в своем файле php, но я понятия не имею, как создать переменную, которая может включать двойные кавычки.

Или есть другой способ?


person Who Cares    schedule 17.05.2014    source источник
comment
Не. Пожалуйста, Google: почему я не должен использовать mysql_query   -  person MTilsted    schedule 17.05.2014


Ответы (1)


Просто добавьте одинарные кавычки в свою строку, которая сделает то, что вам нужно:

$sql = "SELECT ID FROM loto_users WHERE email='".$email."' LIMIT 1";

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

$sql = "SELECT ID FROM loto_users WHERE email=\"".$email."\" LIMIT 1";

Или, альтернативно, не объединяйте:

$sql = "SELECT ID FROM loto_users WHERE email='$email' LIMIT 1";
$sql = "SELECT ID FROM loto_users WHERE email='{$email}' LIMIT 1";
person John Conde    schedule 17.05.2014