PHP使用query方法插入主键重复值,不会提示出错!!!
PHP使用query方法插入主键重复值,不会提示出错!!!
PHP code
SQL code
在我调试平台上,以上代码没有提示出错。
是不是我的PHP或MYSQL设置有问题!!!
PHP code
<?php error_reporting(1); $db=new mysqli('localhost','root','xxxx','zjjfz'); $db->query('SET CHARACTER SET utf8'); echo mysql_error(); $query="insert into tab_room (room_id,room_name,software) value (1,'qw12','12qwee');"; if($db->query($query)){ echo '插入完成'.'<br>'; }else{ echo mysql_errno().'<br>'; echo mysql_error().'<br>'; } $db->close(); ?>
SQL code
-- -- 表的结构 `tab_room` -- CREATE TABLE `tab_room` ( `room_id` int(11) NOT NULL auto_increment COMMENT '机房编号', `room_name` varchar(20) NOT NULL COMMENT '机房名称', `software` varchar(1500) default NULL COMMENT '软件表', `rows` char(20) NOT NULL default '12,14,14,14,14' COMMENT '排及排机数', `staff_id` int(4) default NULL COMMENT '负责人工号', PRIMARY KEY (`room_id`), UNIQUE KEY `room_name` (`room_name`), KEY `staff_id` (`staff_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ; -- -- 导出表中的数据 `tab_room` -- INSERT INTO `tab_room` (`room_id`, `room_name`, `software`, `rows`, `staff_id`) VALUES (1, 'werfwhfgh', '很多软件', '12,14,14,14,14', NULL),
在我调试平台上,以上代码没有提示出错。
是不是我的PHP或MYSQL设置有问题!!!
作者: gamebou 发布时间: 2011-06-03
是比较奇怪,你看看其他字段的值有没有变。
作者: jordan102 发布时间: 2011-06-03
PHP code
如果我用上面的代码就会正常提示出错!!
1062
Duplicate entry '1' for key 1
是不是我面向对无象的获取错误信息的 函数 用错了!!!
$db=mysql_connect('localhost','root','xxxx'); mysql_select_db("zjjfz",$db); mysql_query("set names 'utf8'"); $sql="insert into tab_room (room_id,room_name,software) value (1,'qw12','12qwee')"; $result=mysql_query($sql,$db); if(mysql_errno()){ echo mysql_errno().'<br>'; echo mysql_error().'<br>'; }
如果我用上面的代码就会正常提示出错!!
1062
Duplicate entry '1' for key 1
是不是我面向对无象的获取错误信息的 函数 用错了!!!
作者: gamebou 发布时间: 2011-06-03
引用 1 楼 jordan102 的回复:
是比较奇怪,你看看其他字段的值有没有变。
是比较奇怪,你看看其他字段的值有没有变。
其它字段的值没有改变!!!
插入语句就好像没有执行一样!!!
作者: gamebou 发布时间: 2011-06-03
你的mysqli有问题,那条语句没有执行。
作者: jordan102 发布时间: 2011-06-03