0

我有一个名为 members 的表的数据库,它为我的管理员、客户、技术人员存储数据。但现在我想把这个表分成三个单独的表,分别是 admin 表、client 表和 techs 表。正如我现在写的基于成员表的查询我想保留成员表中查询中使用的公共字段,因此我将成员表减少为只有字段 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;
                  }

但是数据只插入到成员表中,对客户、技术人员或管理员没有任何帮助。请知道我该如何解决这个问题

4

1 回答 1

0

您没有在第二次选择中获取数据。

$row=mysql_query("SELECT * FROM members WHERE Name='$r[Name]'") or die('query unsuccesful');
if(mysql_fetch_array($row)) {... }
于 2013-07-28T19:20:41.507 回答