【问题标题】:modifying tables in my database修改我的数据库中的表
【发布时间】:2013-07-28 19:15:10
【问题描述】:

我有一个名为 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;
                  }

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

【问题讨论】:

  • 为什么要使用已弃用的库?

标签: php mysql sql


【解决方案1】:

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

$row=mysql_query("SELECT * FROM members WHERE Name='$r[Name]'") or die('query unsuccesful');
if(mysql_fetch_array($row)) {... }

【讨论】:

  • 现在感谢它的工作。在这些成员、客户、管理员和技术表之间保持关系的最佳字段是什么。当考虑一个特定的人时,我必须从成员那里获取他的一些信息和另一个来自客户端或技术表。我应该在所有这些表中包含用户名字段
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多