字段列表中的未知列“X”

时间:2016-03-06 18:46:15

标签: php mysql mysqli insert-into

我想通过php在mysql中添加一行。

简而言之,代码如下:

$email = mysqli_real_escape_string($mysqli, $_POST['email']);

        $token = md5(uniqid(rand(), true));


            $mysqli->query('SET NAMES utf8');

            $insertsignup = "INSERT INTO `betasignup`(`signupDate`, `email`, `token`, `activated`) SELECT CURDATE(), '" . $email . "', '" . $token . "', 'N';";
            echo $insertsignup;

            $insert = $mysqli->query($insertsignup) or          
                die(mysqli_error($mysqli));

插入“echo”以调试查询。

输出:

  

INSERT INTO betasignupsignupDateemailtokenactivated)SELECT CURDATE(),'username@email.com','58d15fe49629b3942a58acfb64a0cb07 ','N';

接下来是:

  

'字段列表'中的未知列'标记'

这是表格:

CREATE TABLE IF NOT EXISTS `betasignup` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `signupDate` date NOT NULL,
  `email` text NOT NULL,
  `token` text NOT NULL,
  `activated` enum('Y','N') NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

当插入phpmyadmin或mysql-commandline时,查询工作正常。

在localhost dev-environment上,它可以在live(web)中工作。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您的生产数据库可能与您的开发环境中的数据库不相似?它显然错过了“令牌”现场。

答案 1 :(得分:0)

找到它:

刚把整个东西从webhoster移到了自己的rootserver,并没有更新我的大脑...

数据库也被移动到rootserver。 phpmyadmin仍然是虚拟主机...

当然列'令牌'错过了。

谢谢!