Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
登录php/sql正在工作,但已被删除。。。如何改变?_Php_Mysqli - Fatal编程技术网

登录php/sql正在工作,但已被删除。。。如何改变?

登录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

我有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=$_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路线。我想我已经整理好了连接,但不确定其他的。。选择位并查询。。你能帮我看一下吗?我也会检查你的链接以获得更好的理解。