关于mysqli扩展库的问题Imysqli_num_rows|mysqli_query

陌风网络实验室又忙活了两天。

mysql_num_rows和mysql_query各种报错,经过多个测试发现,数据库代码查询完全正确。在这过程中感谢Jqqzzz不断地指导。

最后发现将mysql_num_rows和mysql_query改为mysqli_num_rows|mysqli_query就OK了。

附修改后的源代码:(sign.php)

<!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>正在登陆</title>
</head>
<?php
include './header.php';
require('sql_config.php'); // 数据库配置
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['username']; //用来验证邮件是否符合
// 创建连接 
$conn = new mysqli(SQLservername, SQLusername, SQLpassword, SQLdbname); 
// 检测连接 
if ($conn->connect_error) { 
die("连接数据库失败: " . $conn->connect_error); 
} 
session_start();
//开启session
if (($username == '') || ($password == '')) {
// 若为空,视为未填写,提示错误,并3秒后返回登录界面
header('refresh:3; url=index.html');
echo "用户名或密码不能为空,系统将在3秒后跳转到登录界面,请重新填写登录信息!";
exit;
}
else{
$sql_username = "SELECT * FROM user WHERE name= '$username' AND password='$password'";//检测数据库是否有对应的username和password的sql
$sql_email = "SELECT * FROM user WHERE email= '$email' AND password='$password'";//检测数据库是否有对应的email和password的sql
$result_username = mysqli_query($conn ,$sql_username);//执行sql,
$result_email = mysqli_query($conn,$sql_email);//执行sql,
if($result_username == false){
echo "用户名或密码不能为空,系统将在3秒后跳转到登录界面,请重新填写登录信息!";
exit;
}
else{
$result_username_rows = mysqli_num_rows($result_username);
$result_email_rows = mysqli_num_rows($result_email);
if(($result_username_rows == 1)||($result_email_rows == 1)){
# 用户名和密码都正确,将用户信息存到Session中
$_SESSION['username'] = $username;
$_SESSION['islogin'] = 1;
// 处理完附加项后跳转到登录成功的首页
header('location:welcome.php');
}
else{
header('refresh:3; url=index.html');
echo "用户名或密码错误,系统将在3秒后跳转到登录界面,请重新填写登录信息!";
exit;
}
}
}
include './foot.php';
?>
<body>
</body>
</html>

ps:此段代码根据陌风网络实验室1.0.0版本修改,全部代码请看相关文章。

最后,我感觉这个问题出现的原因是不是因为我连接数据库时用的是

$conn = new mysqli(SQLservername, SQLusername, SQLpassword, SQLdbname);

也是mysql扩展,emmmm,很可能.

mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

最后再次感谢Jqqzzz

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注

3条评论

  1. 三个夜晚,终于刷完了你的所有博客。畅游其中,时而被优美的背景音乐所吸引,去网易云音乐搜搜歌曲;时而被拗口的专业术语所困惑,去浏览器问问度娘;时而进入了妙趣横生的奇妙故事;时而又陷入了令人唏嘘的哲学命题,思考人生与梦想的意义。真心希望以后还可以体验到更多新的内容。这其中,我记忆尤其深刻的一段话是,年少的心太疯狂,像遥不可及的梦想。这个社会看的不是你的梦想,而是你的实力。我明白了,放手去做就是了!!!