2016-12-30 133 views
1

我正在编程的网站需要一个简单的登录页面,并且在所述登录页面中我试图编写用户尝试使用现有用户名和/或电子邮件登录时发生的错误。无论我放入的SELECT查询都没有结果,我也没有错误,所以我非常困惑。我可以使用相同的MySQL连接和相同的列标记插入到数据库中,所以我肯定没有错别字。我会很感激任何帮助,我仍然是一名学生,所以请原谅我看不到任何明显的问题。 我还要提到我附和每一个岗位,他们被分配正确SQL SELECT查询没有结果,也没有错误

$name=$_POST['name']; 
    $pName=$_POST['username']; 
    $email=$_POST['email']; 
    $s='asdfasdf'; 
    $formPosted = 2; 


if(strlen($_POST['email']) > 2){ 
     $stmt = $mysqli->prepare("SELECT user_id FROM tbl_users WHERE user_email = ?"); 
     $stmt->bind_param('s', $email); 
     $stmt->execute(); 
     $stmt->bind_result($eid); 
     $stmt->close(); 
     echo $email.'= '.$eid.'<br>'; 
     if(isset($eid)){ 
      $email_error = '<div class="alert alert-danger"> 
            Sorry this email is taken. 
            </div>'; 
            $row = 0; 
            $error = 1; 
    }} 
    else{ 

    } 

回声是故障排除

if($error==0){ 
     $stmt = $mysqli->prepare('INSERT INTO tbl_users (user_email, user_name, user_penName, user_pw) VALUES (?,?,?,?) '); 
     $stmt->bind_param('ssss', $email, $name, $pName, $pw); 
     if($stmt->execute()){ 

     } 

     $stmt->close(); 
     $mysqli->close(); 
     //header('Location: index.php'); 
     //exit(); 
    } 

    $mysqli->close(); 

这里是我的INSERT语句是相同的连接下。 $错误取决于Isset问题,但是我测试过它,我知道它的工作原理。

+0

凡'$ eid'被设置? –

+0

它正在使用在同一页 –

+0

结果'echo $ eid'是什么? – Beginner

回答

1

$stmt = $mysqli->prepare("SELECT user_id FROM tbl_users WHERE user_email = ?"); 
     $stmt->bind_param('s', $email); 
     $stmt->execute(); 
     $stmt->bind_result($eid); 
     $stmt->close(); 
     echo $email.'= '.$eid.'<br>'; 
     if(isset($eid)){ 

变化

$stmt = $mysqli->prepare("SELECT user_email FROM tbl_users WHERE user_email = ?"); 
     $stmt->bind_param('s', $email); 
     $stmt->execute(); 
     $stmt->bind_result($eid); 
     while ($stmt->fetch()) { 
      echo $email.'='.$eid.'<br>'; 
     } 
     $stmt->close(); 
     if(isset($eid)){ 
+0

谢谢,我以为我只是要求记录我不需要记录而声明 –

+0

欢迎:)但如果您要使用选定的字段,则必须提取记录 –

相关问题