0
這是我的表:爲什麼mysql_insert_id在我的情況下返回0?
CREATE TABLE `users` (
`id` int(10) unsigned NOT NULL auto_increment,
`name` varchar(20) NOT NULL default '',
`pass` varchar(32) NOT NULL default '',
`lang` varchar(2) default NULL,
`locale` varchar(2) default NULL,
`pic` varchar(255) default NULL,
`sex` char(1) default NULL,
`birthday` date default NULL,
`mail` varchar(64) default NULL,
`created` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `mail` (`mail`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=27 ;
這是我的查詢:
$query = "INSERT IGNORE INTO `users` (`name`, `mail`, `birthday`, `lang`, `locale`, `sex`, `pic`) VALUES ('".$name."', '".$email."', '".date_format($birthdaynew, 'Y-m-d H:i:s')."', '".substr($locale, 0, 2)."', '".substr($locale, -2, 2)."', '".$sex."', 'pic/".$uid.".jpg')";
$rows = mysql_query($query) or die("Failed: " . mysql_error());
$_SESSION['id'] = mysql_insert_id(); // I have tryed also mysql_insert_id($db_con) where $db_con is the link to db.
$_SESSION['name'] = $name;
$ _SESSION [ '名']正確包含名稱,但$ _SESSION [ '身份證']包含0。 爲什麼? 我要瘋了!
是的,我正在使用插入IGNORE,因爲如果有一個重複無所事事。 – xRobot
對於「傳遞」列,您有NOT NULL約束,所以您需要爲「傳遞」列插入某些內容。你可以嘗試添加一些東西,看看它是否仍然失敗? – ku6pk
是的,但有「默認」'「。無論如何,如果通過插入的東西,我總是得到0 :( – xRobot