我正在尝试创建一个简单的php登录,如果输入了正确的用户名和密码,则会弹出一条消息,说“登录”。我跟着一个youtube视频做这个,因为我很新的PHP,并不知道我在做什么,但我一直在收到错误。我的代码在下面。在html / php代码中是发生错误的地方,但我不知道要将其更改为。
<?php
class DatabaseManager
{
private $servername = "localhost";
private $username = "root";
private $password = "";
private $dbname = "sokodatabase";
public $dbc;
function __construct() {
$this->dbc = mysqli_connect($this->servername, $this->username, $this->password, $this->dbname);
}
function __destruct() {
mysqli_close($this->dbc);
}
?>
HTML / php代码......
<?php
require_once('../sokodatabase.php');
if(isset($_POST['submit'])){
$username = $_POST['username'];
$password = $_POST['password'];
$query = "SELECT * FROM Users WHERE username='".$username."' AND password='".$password."'";
$sql = mysqli_query($select) or die(mysql_error()); //<--ERROR
if(mysql_num_rows($sql) == 1){//<--ERROR
echo "you logged in";
exit();
}
else{
echo "incorrect";
exit();
}
}
?>
<h3>Sign in</h3>
<form method="post" action="home.php">
<input type="text" placeholder="Username" class="txtBox" name="username"/></br>
<input type="text" placeholder="Password" class="txtBox" name="password"/></br></br>
<input type="submit" value="login" class="btn" name="submit"/>
</form>
答案 0 :(得分:2)
$sql = mysqli_query($select) or die(mysql_error());
然后将mysql_error()
读作mysqli_error()
,同时将db connection作为参数传递。
然后这个mysql_num_rows
是另一个不与mysqli_混合的MySQL_函数 - 它需要添加i
添加到mysqli_num_rows
参考文献: