登录php/sql正在工作,但已被删除。。。如何改变?
我有3个文件要登录 有人可以在checklogin中查看我的代码吗。。。看起来还好吗。我该怎么更新它才不会被弃用呢。mysql\u select\u db和sql select等,如何更改代码以更新版本登录php/sql正在工作,但已被删除。。。如何改变?,php,mysqli,Php,Mysqli,我有3个文件要登录 有人可以在checklogin中查看我的代码吗。。。看起来还好吗。我该怎么更新它才不会被弃用呢。mysql\u select\u db和sql select等,如何更改代码以更新版本 <?php $host="localhost"; $username="root"; $password=""; $db_name="members"; $tbl_name="user"; $username=$_POST['username']; $password=$_P
<?php
$host="localhost";
$username="root";
$password="";
$db_name="members";
$tbl_name="user";
$username=$_POST['username'];
$password=$_POST['password'];
$con= mysql_connect("localhost","root","","members");
if(!$con)
die("failed to connect");
mysql_select_db("members",$con);
$sql= "SELECT * FROM user WHERE username='$username' and password='$password'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1)
{
session_start();
$_SESSION['username']=$username;
header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
?>
试试这段代码,看看它是否满足您的需要。另外,当您发布表单时,您是否仍在加密您的密码?您可能需要解密用户密码,使其与数据库中的密码匹配
<?php
define('DB_HOSTNAME','localhost');
define('DB_USERNAME','root');
define('DB_PASSWORD','');
define('DB_DATABASE','members');
$username = $_POST['username'];
$password = $_POST['password'];
//CONNECT TO DATABASE
$db = new mysqli(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
if($db->connect_errno > 0){
die('Unable to connect to database [' . $db->connect_error . ']');
}
$userExists = $db->query("SELECT * FROM user WHERE username='{$username}' and password='{$password}'");
$count = count($userExists);
$db->close();
if($count == 1){
session_start();
$_SESSION['username'] = $username;
header("location:login_success.php");
}else{
echo "Wrong Username or Password";
}
?>
您需要使用PHP PDO
PHP的mysql.*函数已被弃用,不应再使用
您所需要的只是更新代码,以摆脱使用不推荐的函数。海报没有告诉您的是,“mysql..()”的函数已被PHP弃用。这意味着它们将很快被删除,或者不再在更新版本的PHP中更新。这里有更好的描述
“mysqli”是通过PHP连接mysql的新标准。还有几种方法可以通过PHP连接到mysql。”新的mysqli“,”mysqli_connect“,甚至走PDO路线
net有一套很好的文档,可以让您更好地了解所有这些方法
希望这有助于您不再感到困惑。它开始了吗?:)打开mysql\u connect
php.net页面,阅读红色方框。如何更改=>我的老师说要连接我们应该起诉$con=mysqli\u connect(“localhost”、“username”、“pw”、“db”)或死亡(mysqli\u错误($con))代码>所以我在做教程,我不知道哪一个是正确的。。$db和$con目前的区别在于它们没有加密,我现在正在研究这个问题。@James_P-$db和$con只是引用连接本身的变量,您可以将其命名为$mysqli或您最想要的任何东西。使用此方法创建连接可以轻松地在下一次查询中重用连接。如果您想了解有关mysqli connections codular.com/php mysqliAlso的更多信息,这里有一本不错的入门书。。。要验证连接是否已建立,数据库信息是否已返回,您可以添加print\u r($userExists);查看mysqli_结果中返回的内容。此外,如果我的答案足以满足您的需要,请务必将其标记为正确答案,以帮助我获得stackoverflow评级。谢谢,我只是有点困惑。。我现在正试着走mysqli路线。我想我已经整理好了连接,但不确定其他的。。选择位并查询。。你能帮我看一下吗?我也会检查你的链接以获得更好的理解。