2012-03-12 2 views
0

Я пытаюсь вставить электронную почту в таблицу MYSQL, и я получаю сообщение об ошибке:Ввод адресов электронной почты в базу данных MYSQL

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 19, '[email protected]')' at line 1

Я смотрел через Интернет, и пробовали разные комбинации кодов и сортировки , но ничего не получится. Проблема «@» здесь? Я получаю этот адрес электронной почты от расшифровки пользовательского объекта Facebook JSON. Вот отрывки из моего кода:

$user = json_decode(file_get_contents($jsonurl)); 
$userid = $user->id; 
if($user->gender == "male") $usergender = TRUE; 
else $usergender = FALSE; 
$useremail = $user->email; 

mysql_select_db("kirkstat", $con); 
$result = mysql_query("INSERT INTO table (id, access, gender, age, email) VALUES ($userid, '$access_token', $usergender, 19, '$useremail')"); 
if (!$result){ 
    echo("error.\n"); 
    die('Invalid query: ' . mysql_error()); 
} 

идентификатор является BIGINT, доступ является VARCHAR, пола является бинарной, возраст является INT, и электронная почта является VARCHAR.

Благодарим за помощь!

+0

$ usergender следует указывать только $ usergender только номера не требуют кавычек. – bumperbox

ответ

4

ложные отбрасывания в виде строки в пустую строку. Пустая строка недействительна в SQL для целочисленного столбца (или значения столбца любого типа, так как он не будет иметь значение «)».

Вместо ложного/истинного использования 0/1.

+0

Спасибо, это было очень полезно! – mye

0

@ Знаки в тексте прекрасны. Я считаю, что ваше «гендерное» значение, вероятно, вызывает ошибку - вы должны повторить полный запрос.