Я пытался запросить адрес электронной почты, используя следующий оператор, однако после нескольких часов попыток избежать строки успешно я принял поражение.
Я использую следующий запрос: SELECT id, email FROM user WHERE email = '$email'
Это дает мне ошибку:
Ошибка MySQL: у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с '@ gmail.com' в строке 1
Я уверен, что это просто. Я просто не могу найти ответ в любом месте, где работает.
ОБНОВЛЕНИЕ # 1
Код, который я использовал:
$email = "abc@gmail.com";
$sql = "SELECT id, email FROM user WHERE email = '$email'";
$result = mysql_query($sql) or die('Unable to connect: '.mysql_error());
ОБНОВЛЕНИЕ # 2
Письмо происходит от API подключения Facebook.
Вероятно, это связано с тем, что адрес электронной почты, который вы получаете из Facebook, содержит цитаты, например, что-то вроде
"Harry"@gmail.com "Harry@gmail.com"
при извлечении данных из веб-службы (или из любого другого места) вам необходимо избежать данных для предотвращения внедрения SQL и искаженных запросов, подобных вашей ситуации.
В твоем случае:
$email = mysql_real_escape_string($email);