Php 使用mysqli_fetch_数组时出现的问题

Php 使用mysqli_fetch_数组时出现的问题,php,mysqli,Php,Mysqli,我正在尝试将我的mysql\u connect代码转换为mysqli\u connect,以下是我的代码块…我可以登录到数据库,但mysqli\u fetch\u array()函数肯定存在一些问题…有人能告诉我哪里找不到它吗 $con= mysqli_connect($db_host,$db_username,$db_password,$db_name); if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: "

我正在尝试将我的mysql\u connect代码转换为mysqli\u connect,以下是我的代码块…我可以登录到数据库,但mysqli\u fetch\u array()函数肯定存在一些问题…有人能告诉我哪里找不到它吗

$con= mysqli_connect($db_host,$db_username,$db_password,$db_name);
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
$sql="SELECT username,password FROM login WHERE username='$uname' AND password='$pass'";
$result=mysqli_query($con,$sql);
$row=mysqli_fetch_array($result,MYSQLI_NUM);
printf ("%s (%s)\n",$row[0],$row[1]);
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
printf ("%s (%s)\n",$row["username"],$row["password"]);
mysqli_free_result($result);
mysqli_close($con);

但是它给了我()这个结果…

我想你的查询有问题

$sql="SELECT username,password FROM login 
      WHERE username='$uname' AND password='$pass'";
而不是这个用途

$sql="SELECT username,password FROM login 
      WHERE username='".$uname.'" AND password='".$pass."'";

使用参数化查询。这对SQL注入是开放的…密码应该是散列的。您应该检查它是否有任何错误>>$result=mysqli_query($con,$SQL)或die(mysqli_error($con));然后打印(行)看看你得到了什么你的选择查询是完全没有意义的你选择的用户名/密码,其中用户名和密码等于已经定义的提供值。@ObjectManipular..感谢这个错误处理实际上帮助我解决了很多问题…如果你偶然发现连接到db错误,你应该退出一个脚本-不是吗继续下去很有意义……这可能是正确的,但OPs使用密码是完全错误的。不应在数据库中检查密码,而应生成哈希值,并且只应检查哈希值。