我有一个名为members的数据库,它为我的管理员,客户端,技术人员存储数据。但是现在我想把这个表分成三个单独的表作为管理表,客户表和技术表。作为我现在已经根据成员表编写了查询我希望保留在成员表中查询中使用的公共字段,因为它们现在是。因此我将成员表减少为只有字段ID,名称,用户名,密码,级别,类别。在整个站点中,通过设置级别(对应于“级别”字段),可以识别用户是管理员,客户还是技术人员。 插入数据时,我尝试使用此代码。首先将公共字段插入成员,然后根据级别编写单独的查询,指定应插入数据的表。
if($_POST['Submit']){
if(mysql_fetch_array(mysql_query("SELECT * FROM `members` WHERE UN='$r[UN]' AND ID!='$r[ID]' "))) {
?><script language="javascript" type="text/javascript">alert('Username already exsits.Please enter another.');
</script>
<?php
}
else {
mysql_query("INSERT INTO members (Name,UN,Password,Level,Category) VALUES ('$r[Name]','$r[UN]','$r[PW]','$r[Level]','$r[Category]')");
$row=mysql_query("SELECT * FROM members WHERE Name='$r[Name]'") or die('query unsuccesful');
if ($row['Level']==1){
mysql_query("INSERT INTO client(Name,Mobile,Phone,Fax,Email,Address) VALUES ('$r[Name]','$r[Mobile]','$r[Phone]','$r[Fax]','$r[Email]','$r[Address]')");
}
elseif($row['Level']==2){
mysql_query("INSERT INTO techs (Name,,Category,Company,Price,Comments,Rate,Qualifications,Mobile,Phone,Fax,Email,Address) VALUES ('$r[Name]','$r[Category]','$r[Company]','$r[Price]','$r[Comments]','$r[Rate]','$r[Qualifications]','$r[Mobile]','$r[Phone]','$r[Fax]','$r[Email]','$r[Address]')");
}
else{
mysql_query("INSERT INTO admin (Name,Mobile,Phone,Fax,Email,Address) VALUES ('$r[Name]','$r[Mobile]','$r[Phone]','$r[Fax]','$r[Email]','$r[Address]')");
}
if(!$user){
$user=$r;
$_SESSION['user']=$r;
}
但是数据只会插入到会员表中,而客户端,技术人员或管理员都无法使用。任何想法我都可以修改
答案 0 :(得分:0)
您没有在第二次选择中获取数据。
$row=mysql_query("SELECT * FROM members WHERE Name='$r[Name]'") or die('query unsuccesful');
if(mysql_fetch_array($row)) {... }