我想通过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
betasignup
(signupDate
,token
,activated
)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)中工作。
有什么想法吗?
答案 0 :(得分:1)
您的生产数据库可能与您的开发环境中的数据库不相似?它显然错过了“令牌”现场。
答案 1 :(得分:0)
找到它:
刚把整个东西从webhoster移到了自己的rootserver,并没有更新我的大脑...
数据库也被移动到rootserver。 phpmyadmin仍然是虚拟主机...
当然列'令牌'错过了。
谢谢!