Php mysql代码与mysqli代码
我尝试过将一段代码从mysql转换为mysqli,下面的代码是mysql代码,这很好,可以让用户正确登录Php mysql代码与mysqli代码,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我尝试过将一段代码从mysql转换为mysqli,下面的代码是mysql代码,这很好,可以让用户正确登录 <?php if($_POST){ $username=mysql_real_escape_string($_POST['username']); //Protects against SQL Injection $password=mysql_real_escape_string($_POST['password']); // Protects against SQL Inje
<?php
if($_POST){
$username=mysql_real_escape_string($_POST['username']); //Protects against SQL Injection
$password=mysql_real_escape_string($_POST['password']); // Protects against SQL Injection
$sql = mysql_query("SELECT * FROM usertable WHERE userID ='".$username."' AND userPass ='".md5($password)."'") or die(mysql_error());
$res=mysql_num_rows($sql);
if($res>0){
$rs_login=mysql_fetch_assoc($sql);
$uid=$rs_login['userID'];
$_SESSION['sess_uid']=$uid;
header("Location: index.php");
die();
}
else{
echo '<div class="error">Incorrect Username or Password</div>';
echo '<br/>';
}
}
?>
下面的代码不起作用,我遇到了错误“警告:mysqli_num_rows()正好需要1个参数,2个给定”。我知道这个查询有问题,但是我很难弄清楚
<?php
$mysqli = mysqli_connect("localhost", "root", "password", "dbname") or die ('Could not connect to database!');
if(isset( $_POST['username']) && isset($_POST['password'])){
$username = mysqli_real_escape_string($mysqli, $_POST['username']);
$password = mysqli_real_escape_string($mysqli, md5($_POST['password']));
$sqllogin = "SELECT * FROM usertable WHERE userID = '".$username."' AND userPass = '".$password."' LIMIT 1" ;
$result = mysqli_query($mysqli,$sqllogin);
$count = mysqli_num_rows($mysqli,$result);
if (!$resuult) {
die(mysqli_error($mysqli));
}
if ($count > 0) {
$data = mysqli_fetch_assoc($count);
return $data;
$uid=$rs_login['userID'];
$_SESSION['sess_uid']=$uid;
header('Location: index.php');
} else {
echo '<div class="error">Incorrect Username or Password</div>';
echo '<br/>';
}
}
?>
否,查询没有问题,请阅读错误说明:
警告:mysqli_num_rows()只需要1个参数,给定2个
谷歌搜索mysqli\u num\u行
>
它需要一个参数;amysqli\u结果
因此,使用该参数调用它,或者使用文档中的一个示例:
mysqli\u num\u行($result)代码>MD5不安全。您需要一个迭代的salt散列,比如bcrypt。读取错误。您还编写了$result
将变量更改为$result,没有任何更改我将研究如何使用bcrypt,谢谢!您应该已经阅读了我评论的第一部分:“阅读错误”。免责声明:我不知道PHPThanks,我更改了它,现在它正在按照预期重定向页面。