2014-03-19 28 views
0

問題:兩個查詢使用的mysqli

試圖對數據庫運行,但結果的兩個MySQLi的查詢總是爲失敗的消息。

代碼(PHP):

// Checks whether submit button has been pressed 
if (isset($_POST['submit'])) 
{ 
    // Gets values from form fields 
    $email  = mysql_real_escape_string(stripslashes($_POST['email'])); 
    $password = mysql_real_escape_string(stripslashes($_POST['password'])); 

    // Selects e-mail in database 
    $query = "SELECT * FROM userlogin WHERE email = '{$email}'"; 
    $result = mysqli_query($link, $query) or die('Error [' . mysqli_error($link) . ']'); 

    // Checks whether e-mail exist 
    if (mysqli_num_rows($result) != 0) 
    { 
      // Register new user 
      $query = "INSERT INTO 
          userlogin 
         (username, password, email, regdate) 
          VALUES 
         ('James','{$password}', '{$email}', NOW()) 
      "; 

      // Submit query to database 
      $result = mysqli_query($link, $query) or die('Error [' . mysqli_error($link) . ']'); 

      // Return success message 
      header('Location: index.php?notification=success'); 
    } 
    else 
    { 
     // Return failure message 
     header('Location: index.php?notification=fail'); 
    } 
} 

我缺少什麼?任何建議表示讚賞。

+0

「這裏是代碼,爲我修復它」並不是Stack Overflow熱烈歡迎的一類問題。 –

+0

你爲什麼要用'SELECT * FROM userlogin WHERE email ='{$ email}''?去'SELECT * FROM userlogin WHERE email ='$ email'' –

+0

@YourCommonSense對不起。在你看來,你會如何推薦它? – kexxcream

回答

2

不應該在該

mysqli_num_rows($result) != 0 

mysqli_num_rows($result) == 0 
+0

爲什麼這是downvoted?如果電子郵件不存在,他需要插入表格。所以不應該這個條件是這個mysqli_num_rows($結果)== 0? – rakeshjain

+0

是的,這是正確的。我的邏輯有點快。 – kexxcream

0

的一個問題是

$email  = mysql_real_escape_string(stripslashes($_POST['email'])); 
$password = mysql_real_escape_string(stripslashes($_POST['password'])); 

,並應

$email  = mysqli_real_escape_string($link,stripslashes($_POST['email'])); 
$password = mysqli_real_escape_string($link,stripslashes($_POST['password'])); 
+0

恐怕不是問題所在。但是你對第二個參數是正確的。 – kexxcream

+0

1.這不是問題。 2.這不是一個答案。 –