2015-09-20 55 views
-2

我無法運行mysqli_num_rows查詢。無法運行mysqli_num_rows

if聲明正在mysqli_query但是當我着手mysqli_num_rows其沒有工作,echoelse聲明。

我正在登錄系統上工作,只想驗證數據庫中是否存在電子郵件地址。

這裏是我的index.php:

<?php 
    include "connect.php"; 
    include "functions.php"; 

    $email = $password = ""; 
    if(isset($_POST["submit"])){ 
    $email = $_POST["email"]; 
    $password = $_POST["password"]; 
    } 
    echo $email .$password; 

    if (email_exist($conn,$email)) { 
    echo "success"; 
    } else { 
    echo "failed"; 
    } 
?> 


<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <link rel="stylesheet" type="text/css" href="style.css"> 
    <title>Login Page</title> 
    </head> 
    <body> 
    <div class="login"> 
     <form method="post" action="index.php"> 
     <b>Email:</b><br> 
     <input type="text" name="email"><br><br> 
     <b>Password:</b><br> 
     <input type="text" name="password"><br><br><br> 
     <input type="submit" name="submit"> 
     </form> 
    </div> 
    </body> 
</html> 

和functions.php中:

<?php 
    function email_exist($conn,$email){ 
    $sql = "SELECT id FROM admin WHERE email = '$email'"; 
    $result = mysqli_query($conn,$sql); 
    if(mysqli_num_rows($result) == 1){ 
     echo "Good work"; 
    } else { 
     echo "dont"; 
    } 
    } 
?> 
+0

你爲什麼'== 1'? – user5173426

+0

以確保只有1個結果在數據庫中用於該特定電子郵件。 –

回答

0

這個問題是題外話,因爲尋求幫助調試(「問題爲什麼不在此代碼工作?「)必須包含所需的行爲,特定的問題或錯誤以及在問題本身中重現問題所需的最短代碼。沒有明確問題陳述的問題對其他讀者無益。

不幸的是,這個規則不起作用,在評論和基於猜測的答案中產生類似論壇的討論,而這些答案本質上也是主題。

都可以回答你的問題是:

您正在「跑步」 mysqli_num_rows()所有權利。問題在於你的上下文,讀者完全不知道,而且除了只能由你完成的調試之外,沒有辦法回答你的問題。

因此,開始調試您的代碼,首先驗證所有值和數據庫內容。