Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 单场获胜';t插入_Php_Mysql_Sql - Fatal编程技术网

Php 单场获胜';t插入

Php 单场获胜';t插入,php,mysql,sql,Php,Mysql,Sql,由于某些原因,单个字段将不会插入我的数据库(电子邮件字段)。我找不到任何错误。我很好地重复了这个变量。然而,即使是手动文本,似乎也没有插入任何内容。有人能看到错误吗 mysql_query("INSERT INTO 'users' (fbID, firstName, lastName, facebookURL, birthday, updated, accessToken, emailOne) VALUES ('".mysql_real_escape_string($userId)."', '"

由于某些原因,单个字段将不会插入我的数据库(电子邮件字段)。我找不到任何错误。我很好地重复了这个变量。然而,即使是手动文本,似乎也没有插入任何内容。有人能看到错误吗

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

单引号用于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\u query()将返回FALSE,您可以使用mysql\u error()检查发生了什么。请参见

中的代码示例,将其拆分以进行调试

myQuery="INSERT INTO `users` (fbID, firstName, ... ";
mysql_query(myQuery);

echo myQuery;
因此,您可以打印出您的查询并将其粘贴到phpmyadmin中进行测试。 如果某些东西不工作,您应该会得到一个错误

介绍一些错误处理,如



如果您的查询是正确的,它应该可以工作。否则,它会告诉您一个错误。

数据库中的字段是varchar以供参考您会遇到什么类型的错误?没有错误。只是不插入任何内容考虑到当您通过phpmyadmin查询db时它工作正常,这让我相信$email在代码中不包含您认为它包含的内容(是的,我知道您重复了它,但请再次查看),否则,我还建议您使用php,在不使用mysql\u real\u escape\u字符串的情况下尝试一下,并删除电子邮件字段。所有字段都输入,但该电子邮件字段仍然存在
<?php
  $result = mysql_query(myQuery);
  if (!$result) {
    die('Invalid query: ' . mysql_error());
  }
?>