各位高手请教大家一个问题:
<?php
if(isset($_POST[add])){
include("conn.php");
$sr=$_POST[sr];
//$sql="insert into vote(id,name,num)values('','$sr',0)";
$sql="insert into vote(name,num)values('$sr',0)"; mysql_query($sql);
header("location:xtwh.php");
}
?>
表结构
CREATE TABLE `vote` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
`num` int(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=gb2312 AUTO_INCREMENT=26 ;上述程序中的ID设为自增,但是程序中的$sql执行$sql="insert into vote(id,name,num)values('','$sr',0)";插入不成功!!
但执行$sql="insert into vote(name,num)values('$sr',0)";时程序能正确的插入了!!
真不知道这是哪里出错了,请各位高手相助!
<?php
if(isset($_POST[add])){
include("conn.php");
$sr=$_POST[sr];
//$sql="insert into vote(id,name,num)values('','$sr',0)";
$sql="insert into vote(name,num)values('$sr',0)"; mysql_query($sql);
header("location:xtwh.php");
}
?>
表结构
CREATE TABLE `vote` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
`num` int(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=gb2312 AUTO_INCREMENT=26 ;上述程序中的ID设为自增,但是程序中的$sql执行$sql="insert into vote(id,name,num)values('','$sr',0)";插入不成功!!
但执行$sql="insert into vote(name,num)values('$sr',0)";时程序能正确的插入了!!
真不知道这是哪里出错了,请各位高手相助!
或
$sql="insert into vote(name,num)values('$sr',0)";id老是'',插入的了才怪了
直接
$sql="insert into vote(name,num)values('$sr',0)";
就可以了.
更新的时候可以操作它,但也不能有重复的.
就实际应用中来说,都是不需要去操作自增字段的,它只是对数据的一个索引标识,方便直接找到数据并操作.
不然它的作用何在