php代码在完成查询后执行else语句

时间:2015-05-27 12:52:46

标签: php android mysql

如果“插入”查询成功,我的android studio控制台应该会收到“成功”。只有当“hub_code”是新的时才会成功,否则它将不会插入。但是,如果我使用不同的hub_code注册,则查询会注册用户,但它会执行“codexist”回显。另外,create table查询与此问题无关。我的android代码也无关紧要,因为我只想知道为什么控制台只接收“codexist”。下面是我的PHP代码。

<?php 

     $dbconn=mysqli_connect("localhost","root","") or trigger_error(mysql_error(), E_USER_ERROR);
     mysqli_select_db($dbconn,"mydatabase"); 

    $username = $_POST["un"];
    $password = $_POST["pw"];
    $f_name = $_POST["fn"];
    $l_name = $_POST["ln"];
    $hub_code = $_POST["hc"];
    $type = $_POST["type"];




     if (!empty(($username)&&($password)&&($f_name)&&($l_name)&&($hub_code))) 
     {  

         $query = "SELECT username FROM tbl_user WHERE hub_code = '".$hub_code."'";
         $result = mysqli_query($dbconn, $query); 
         if (mysqli_num_rows($result) == 0)  
         {        
              $query1 = "INSERT INTO tbl_user(username, password, f_name, l_name, hub_code, type) VALUES('$username', '$password', '$f_name', '$l_name', '$hub_code','LECTURER')";
              $sql1=mysqli_query($dbconn,$query1); 
              $query2 = "CREATE TABLE $hub_code (
                              ID int(11) AUTO_INCREMENT,
                              monday int(1) NOT NULL,
                              tuesday int(1) NOT NULL,
                              wednesday int(1) NOT NULL,
                              thursday int(1) NOT NULL,
                              friday int(1) NOT NULL,
                              saturday int(1) NOT NULL,
                              sunday int(1) NOT NULL,
                              weekcounter int(2) NOT NULL,
                              assdate DATE NOT NULL )";
               $result2 = mysqli_query($dbconn, $query2);
                if(trim($sql1) != "")
                {
                    echo "Success";

                }
                else
                {
                    echo "Failure";
                }

         }
         else 
         {
            echo "codexit";
         }
    }



     else
     { 
        echo  "One or both of the fields are empty ";

     }

     mysqli_close($dbconn); ?>

问题在于,即使它注册,当hub_code不存在时,它也会回应“codexist”,这意味着hub_code已经存在。

1 个答案:

答案 0 :(得分:0)

  1. 在你的mysql服务器上运行你的mysql查询(不在php中)来检查它是否正常运行。

  2. 回显mysqli_num_rows($ result)行。这也应该有助于确定返回的计数。

    1. 回显你的$ _POST以检查它是否已正确发布。
  3. 试验和错误是调试此问题的唯一方法。