单个字段不会插入

时间:2011-12-11 08:05:40

标签: php mysql sql

由于某种原因,单个字段不会插入我的数据库(电子邮件字段)。我找不到任何错误。我已经回应了变量,因为它很好。但是,即使手动文本也没有任何内容。任何人都可以看到错误吗?

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)."')");

2 个答案:

答案 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

上的代码示例