当我尝试登录我的PHP表单时出现此错误:
调用未定义的函数mysql_rum_rows()
这是我的代码
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("login");
if(isset($_POST['inloggen'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE username = '". $username . "' AND '" . $password . "'";
$result = mysql_query($query);
if(mysql_rum_rows($result) == 1) {
echo "Juiste gegevens!";
}
else {
echo "Onjuiste gegevens!";
}
echo "<br />";
}
?>
<form method="post" action="">
<label>Username</label>
<input type="text" name="username"/><br />
<label>Password</label>
<input type="password" name="password"/><br />
<input type="submit" name="inloggen" value="Inloggen"/>
</form>
&#13;
任何人都可以帮我解决这个问题吗?我是PHP的菜鸟,我从一本名为&#34; PHP en MySQL&#34;的书中得到了这个。所以我不知道它为什么不起作用
答案 0 :(得分:1)
你有错字错误。需要写mysqli_num_rows
也无需检查mysqli_num_rows()
。
$result = mysql_query($query);
// $result will give you boolean TRUE or FALSE
if ($result) {
echo "Juiste gegevens!";
} else {
echo "Onjuiste gegevens!";
}
<强>建议强>: -
1)您需要在保存到数据库之前加密密码。其中一种简单的加密技术是md5
。你可以通过以下方式用DB检查密码。
$password = md5($_POST['password']);
2)您可以按如下方式编写查询: -
"SELECT * FROM users WHERE username = '$username' AND '$password'";
3)始终检查查询错误。您应该使用mysql_error()
来获取查询错误。
警告: - 强>
mysql_ *在PHP 5.5.0中已弃用,在PHP 7.0.0中已被删除。 相反,应该使用MySQLi或PDO_MySQL扩展。
答案 1 :(得分:0)
你错误地输入了mysql_num_rows(mysql_rum_rows),我想这都是关于它的。 祝好运。 http://php.net/manual/de/function.mysql-num-rows.php
答案 2 :(得分:0)
<?php
$conn = mysqli_connect("localhost", "root", "", "login");
if (isset($_POST['inloggen'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE username = '" . $username . "' AND '" . $password . "'";
$result = mysqli_query($conn, $query);
if (mysqli_num_rows($result) == 1) {
echo "Juiste gegevens!";
} else {
echo "Onjuiste gegevens!";
}
echo "<br />";
}
?>
<form method="post" action="">
<label>Username</label>
<input type="text" name="username"/><br />
<label>Password</label>
<input type="password" name="password"/><br />
<input type="submit" name="inloggen" value="Inloggen"/>
</form>
答案 3 :(得分:0)
您输入错误,使用 mysql_num_rows 而不是 mysql_rum_rows