gpt4 book ai didi

php - 带有 mysql_num_rows 的 mysql 和 php 登录页面

转载 作者:行者123 更新时间:2023-11-30 23:12:38 25 4
gpt4 key购买 nike

我有这些代码,它给我一个错误“警告:mysql_num_rows() 期望参数 1 是资源”:

PHP:

<?php
@error_reporting(0);
@session_start();
@include("sql.php");
$log_error = "";

if(isset($_POST['send'])) {
$user = protect($_POST['username']);
$pass = protect($_POST['password']);
$q = mysql_query("SELECT * FROM login WHERE name = '".$user."' and pass = '".$pass."'",$sqlc);
$count = mysql_num_rows($q);

if($count > 0) {
$_SESSION['username'] == $user;
header('Location: index.php');
$log_error = "0";
} else {
$log_error = "1";
}
}
?>

HTML:

<table border="0">
<form action="" method="post">
<tr>
<td colspan="2" style="width:100%;"><span>Login</span></td>
<tr>
<tr>
<td>Username:</td>
<td><input type="text" name="username" value="" /></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="password" value="" /></td>
</tr>
<tr>
<td colspan="2" style="width:100%;"><input type="submit" name="send" value="Login" /></td>
</tr>
</form>
</table>

以及 SQL 连接 (sql.php):

<?php
$Host = 'localhost';
$User = 'dash_sys1';
$Pass = '123456Ben';
$DB = 'dash_sys1';

$sqlc = mysql_connect($Host,$User,$Pass) or die(mysql_error());
mysql_select_db($DB) or die(mysql_error());
function protect($str) {
return htmlspecialchars(mysql_real_escape_string(trim($str)));
}
?>

它给了我那个错误:警告:mysql_num_rows() 期望参数 1 是资源, bool 值在第 11 行的 C:\wamp\www\cms\admin\login.php 中给出

我做错了什么?

最佳答案

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given

这意味着您向函数传递了一个非资源。那么为什么 $q 是非资源呢? mysql_query() 函数返回一个 bool 值 false 如果你的 SQL 查询或函数的使用有错误。所以 $q 被分配了 false 值,而不是查询结果资源。然后你将 $q 传递给 mysql_num_rows() 并且那是行不通的。

您应该始终检查 mysql_query() 的返回值以获得 false 结果。

$q = mysql_query("SELECT * FROM login WHERE name = '".$user."' and pass = '".$pass."'",$sqlc);
if ($q === false) {
trigger_error(mysql_error($sqlc), E_USER_ERROR);
} else {
$count = mysql_num_rows($q);
}

关于php - 带有 mysql_num_rows 的 mysql 和 php 登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19229090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com