Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.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 Can';t从MySQL数据库中获取行_Php_Mysql_Login - Fatal编程技术网

Php Can';t从MySQL数据库中获取行

Php Can';t从MySQL数据库中获取行,php,mysql,login,Php,Mysql,Login,我对mysql有点生疏,尤其是现在它是mysqlI。。。下面的脚本中没有任何操作,变量$row[username]等为空。我做错了什么 <?php session_start(); include_once('./db_config.php'); if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $username = mysqli_r

我对mysql有点生疏,尤其是现在它是mysqlI。。。下面的脚本中没有任何操作,变量$row[username]等为空。我做错了什么

<?php

session_start();
include_once('./db_config.php');

if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$username = mysqli_real_escape_string($conn, $_POST['username']);
$password = md5(mysqli_real_escape_string($conn, $_POST['password']));

$query = "SELECT * FROM players WHERE username = '".$username."' AND password = '".$password."'";

if($res = mysqli_query($conn, $query))
{
    $row = mysqli_num_rows($res);
    $_SESSION['Username'] = $row['username'];
    $_SESSION['uID'] = $row['id'];
    $_SESSION['Join_Date'] = $row['join_date'];
    mysqli_free_result($res);

    header('Location: ../index.php');
} else
{
    echo mysqli_error($conn);
}

?>

您不是在获取记录,而是在执行myql\u num\u行(这只会给出记录的编号)

使用此选项获取记录

$row=mysqli\u fetch\u数组($res,mysqli\u ASSOC)


您不是在获取记录,而是在执行myql\u num\u行(这只会给出记录的编号)

使用此选项获取记录

$row=mysqli\u fetch\u数组($res,mysqli\u ASSOC)



mysqli_num_rows
返回列数,而不是行数。我认为您的代码中有输入错误,我无法在其中找到
mysqli_fetch_数组
mysqli_num_rows
返回列数,而不是行数。我认为您的代码中有输入错误,我在它里面找不到
mysqli\u fetch\u array
,很高兴注意到你实际上提到了什么是错的,然后是你的答案。@Anish谢谢你的回答!它仍然会给我一些未索引的索引错误,例如:
注意:未定义索引:username
你能粘贴到这里吗?
注意:未定义索引:第19行的C:\wamp\www\gor\scripts\login.php中的username
注意:未定义索引:第20行的C:\wamp\www\gor\scripts\login.php中的id
注意:未定义索引:在C:\wamp\www\gorgame\scripts\login.php中加入日期在第21行ok。在浏览器上回显$query,然后直接在数据库中运行它,查看它是否返回该查询的任何结果。很高兴注意到,您实际上已经提到了错误,然后是您的答案。@Anish感谢您的回答!它仍然会给我一些未索引的索引错误,例如:
注意:未定义索引:username
你能粘贴到这里吗?
注意:未定义索引:第19行的C:\wamp\www\gor\scripts\login.php中的username
注意:未定义索引:第20行的C:\wamp\www\gor\scripts\login.php中的id注意:未定义索引:在C:\wamp\www\gorgame\scripts\login.php中加入日期在第21行ok。在浏览器上回显$query,然后直接在数据库中运行它,查看它是否返回该查询的任何结果。
<?php

session_start();
include_once('./db_config.php');

if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$username = mysqli_real_escape_string($conn, $_POST['username']);
$password = md5(mysqli_real_escape_string($conn, $_POST['password']));

$query = "SELECT * FROM players WHERE username = '".$username."' AND password = '".$password."'";

if($res = mysqli_query($conn, $query))
{

    $row = mysqli_fetch_array($res,MYSQLI_NUM);
    $_SESSION['Username'] = $row['username'];
    $_SESSION['uID'] = $row['id'];
    $_SESSION['Join_Date'] = $row['join_date'];
    mysqli_free_result($res);

    header('Location: ../index.php');
} else
{
    echo mysqli_error($conn);
}

?>