PHP使用query方法插入主键重复值,不会提示出错!!!

PHP使用query方法插入主键重复值,不会提示出错!!!
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

$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