PHP使用query方法插入主键重复值,不会提示出错!!!
<?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();
?>
--
-- 表的结构 `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设置有问题!!!
<?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();
?>
--
-- 表的结构 `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设置有问题!!!
$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
是不是我面向对无象的获取错误信息的 函数 用错了!!!
面向对象的获取错误信息跟错误编号是使用mysqli对象的属性echo $db->errno; //$db为mysqli对象
echo $db->error;