2016-12-30 132 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

歡迎:)但如果您要使用選定的字段,則必須提取記錄 –

相關問題