【问题标题】:Entering Email Addresses into MYSQL Database将电子邮件地址输入 MYSQL 数据库
【发布时间】:2012-03-12 06:45:39
【问题描述】:

我正在尝试将电子邮件插入 MYSQL 表,但出现错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '19, 'blah@gmail.com')' 附近使用正确的语法

我查看了互联网,并尝试了排序规则和代码的不同组合,但没有任何效果。 '@' 是这里的问题吗?我从解码 Facebook 的 JSON 用户对象中获取此电子邮件地址。这是我的代码中的 sn-ps:

$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());
}

id 是 bigint,access 是 varchar,gender 是二进制,age 是 int,email 是 varchar。

感谢您的帮助!

【问题讨论】:

  • $usergender 应该被引用 '$usergender' 只有数字不需要引号。

标签: php mysql facebook email


【解决方案1】:

false 将字符串转换为空字符串。对于整数列(或任何类型的列值,因为它也没有 ''),空字符串在 SQL 中无效。

使用 0/1 代替 false/true。

【讨论】:

  • 谢谢,很有帮助!
【解决方案2】:

@ 符号在文本中很好。我相信可能是您的“性别”值导致了错误——您应该回显完整的查询。

【讨论】:

    猜你喜欢
    • 2010-12-04
    • 2019-09-14
    • 1970-01-01
    • 2011-10-10
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多