由于某种原因,单个字段不会插入我的数据库(电子邮件字段)。我找不到任何错误。我已经回应了变量,因为它很好。但是,即使手动文本也没有任何内容。任何人都可以看到错误吗?
mysql_query("INSERT INTO 'users' (fbID, firstName, lastName, facebookURL, birthday, updated, accessToken, emailOne) VALUES ('".mysql_real_escape_string($userId)."', '".mysql_real_escape_string($firstName)."', '".mysql_real_escape_string($lastName)."', '".mysql_real_escape_string($link)."', '".mysql_real_escape_string($birthday)."', '".mysql_real_escape_string($today)."', '".mysql_real_escape_string($accessToken)."', '".mysql_real_escape_string($email)."')");
答案 0 :(得分:1)
将其拆分以进行调试。
myQuery="INSERT INTO `users` (fbID, firstName, ... ";
mysql_query(myQuery);
echo myQuery;
因此,您可以打印出您的查询并将其粘贴到您的phpmyadmin进行测试。 如果出现问题,你应该收到错误。
引入一些错误处理,如php documentation
中所述<?php
$result = mysql_query(myQuery);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
?>
如果您的查询正确,它应该有效。否则它应该告诉你一个错误。
答案 1 :(得分:0)
单引号用于SQL中的字符串和日期文字。您可能需要反引号或没有引号。
mysql_query("INSERT INTO `users` (...
通过查看生成SQL的PHP代码来调试SQL真的很困难。您应该学习如何形成SQL字符串并输出:
$sql = "INSERT INTO `users` (...)";
// you can output the string here to debug it
mysql_query($sql);
通常通过查看SQL字符串而不是PHP代码,任何错误都会更加明确。
您还应该在任何查询后检查错误情况。 mysql_query()返回FALSE如果出现任何问题,你可以使用mysql_error()检查发生了什么。请参阅http://php.net/manual/en/function.mysql-query.php
上的代码示例