簡體   English   中英

如果語句mysqli_num_rows不起作用,則使用PHP

[英]PHP if Statement mysqli_num_rows not working

我有一個代碼,詢問數據庫中是否存在行,如果存在,它將回顯一條消息。 但是,無論我輸入什么內容,都不會得到回應。

這是我的代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Untitled Document</title>
</head>
<body>

  <?php

    $mysqlhost="host";
    $mysqldatabase="b33_15887129_Accounts";
    $mysqlusername="username";
    $mysqlpassword="password";
    $connect=new mysqli($mysqlhost,$mysqlusername,$mysqlpassword);

    if (!$connect) {
      die("Connection failed: " . $connect->connect_error);
    }

    echo "Connected Successfully";

    mysqli_select_db($connect,"b33_15887129_Accounts");
    $loginusername=$_POST['loginusername'];
    $loginpassword=$_POST['loginpassword'];
    $checkifexist="SELECT * FROM Users WHERE Username='$loginusername' AND 'Password=$loginpassword'";
    $runquery=mysqli_query($connect,$checkifexist);
    $numofrows=mysqli_num_rows($runquery);

    if($numofrows==1){
      echo "Successfully logged in!";
    }else{
      echo "Failed to log in";
    }

  ?>
</body>
</html>

它設法回顯Connected successfully但無論輸入什么Failed to log in都不會出現“ Successfully logged in和“ Successfully logged in Failed to log in的信息。 有什么幫助嗎?

由於忘記了回顯,因此不會顯示“無法登錄”。

if($numofrows==1){
    echo "Successfully logged in!";
}
else{
    echo "Failed to log in";

}

為了使sql工作,@ Ranjith是正確的,您需要更改sql語句中的引號位置。

1)您的else語句沒有回音!

2)您的SQL語句錯誤! 檢查密碼中的引號! ->密碼='$ loginpassword'

實際上,您應該看看http://php.net/manual/en/mysqli.real-escape-string.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM