$query=mysql_query("select * from yonghu_t where yonghu_yhmm=$addusername");
if($query){
echo "<script>";
echo "alert(‘用户名已经存在’); window.history.go(-1);";
echo "</script>";
}else{ $sql="insert into yonghu_t (yonghu_yhmc,yonghu_yhmm,yonghu_yhsf,yonghu_lxfs,yonghu_yx,yonghu_jdsj) values('$addusername','$password1','$yhsf','$lxfs','$addemail',$time)";
echo "<br>".$sql;
$return=mysql_query($sql);
} 意思就是先查询,数据里面没有再插入!可是我每次执行。都插入到数据库了,这是为什么呢?
if($query){
echo "<script>";
echo "alert(‘用户名已经存在’); window.history.go(-1);";
echo "</script>";
}else{ $sql="insert into yonghu_t (yonghu_yhmc,yonghu_yhmm,yonghu_yhsf,yonghu_lxfs,yonghu_yx,yonghu_jdsj) values('$addusername','$password1','$yhsf','$lxfs','$addemail',$time)";
echo "<br>".$sql;
$return=mysql_query($sql);
} 意思就是先查询,数据里面没有再插入!可是我每次执行。都插入到数据库了,这是为什么呢?
判断有没有,你可以写个sql语句
$query=mysql_query("select count(*) from yonghu_t where yonghu_yhmm=$addusername");
$sql = "select * from yonghu_t where yonghu_yhmm = '$addusername'";
$query = mysql_query($sql);
if(mysql_num_rows($query) >= 1 )
{
echo "<script>alert(‘用户名已经存在’);window.history.go(-1)</script>";
}
else
{
$sql = "insert into yonghu_t (yonghu_yhmc,yonghu_yhmm,yonghu_yhsf,yonghu_lxfs,yonghu_yx,yonghu_jdsj) values('$addusername','$password1','$yhsf','$lxfs','$addemail',$time)";
echo "<br>".$sql;
$return = mysql_query($sql);
}
都会有值的,是返回的查询标识
如果要达到你想要的,应该
1.直接用replace into...(如果存在就更新,不存在则增加)
2.
$query=mysql_query("select count(*) from yonghu_t where yonghu_yhmm=$addusername");
$row=mysql_fetch_row($query);
if($row[0]>0){
...
}else{
...
}