首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >警告:当我有2个参数时,mysqli_fetch_array()期望参数1是mysqli_result

问警告:当我有2个参数时,mysqli_fetch_array()期望参数1是mysqli_result
EN

Stack Overflow用户
提问于 2017-02-14 05:46:55
回答 3查看 4.1K关注 0票数 1

所以我有个错误:

警告: mysqli_fetch_array()期望参数1是mysqli_result,在第101行的C:\wamp\www\Foredeck\login.php中给出的字符串。

我在网上做了一些研究,但仍然不知道错误在哪里。我想我有两个参数。那怎么了?

顺便说一句,我是PHP新手。

代码语言:javascript
复制
<?php
include("bdconnect_Foredeck.php");
$link = mysqli_connect($host, $login, $pass, $dbname);
$msg  = '';

if (isset($_POST['login']) && !empty($_POST['username']) && !empty($_POST['password'])) {

  $Identifiant = $_POST["username"];
  $MotPasse    = $_POST["password"];
  $query       = "
    SELECT * 
    FROM   admin 
    WHERE  identifiant = '$Identifiant' 
           AND mdp_admin = '$MotPasse'";
  $result      = mysqli_query($link, $query);
  $row         = mysqli_fetch_array($query); //Line 101//

  if ($row) {
    $_SESSION['valid']   = true;
    $_SESSION['timeout'] = time();
    $msg                 = 'Connexion Réussite';

    if ($_POST['username'] == 'Isabelle' && $_POST['password'] == 'Isabelle1') {

      $_SESSION['username'] = $_row['Identifiant'];
      echo "<script type='text/javascript'>alert('Connexion Réussite');
window.location='foredeck_superadmin.php'; </script>";
      header("refresh:3 location: foredeck_superadmin.php");

    } else {

      $_SESSION['username'] = 'foredeckadmin';
      echo "<script type='text/javascript'>alert('Connexion Réussite');
window.location='foredeck.php'; </script>";
      header("refresh:3 location: foredeck.php");

    }

  }

} else {
  $msg = 'Identifiant ou Mot de Passe incorrecte';
  $msg = "<script type='text/javascript'>alert('$msg')</script>";
}
?>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-14 05:49:01

使用$row=mysqli_fetch_array($result);代替$row=mysqli_fetch_array($query);

当mysqli_fetch_array()函数以关联数组的形式获取结果行时,您将传递$query,它的类型是string。所以,它的投掷错误。

票数 2
EN

Stack Overflow用户

发布于 2017-02-14 05:59:50

mysqli_fetch_array()函数接受两个参数。第一个是查询的结果,然后第二个参数接受要获得的结果类型。选择是MYSQLI_NUM<- -这是您想要按其位置获取数据,而MYSQLI_ASSOC <-通过其行名称引用提取数据的时候。第三个选择是MYSQLI_BOTH,如果您希望同时引用MYSQLI_NUM和MYSQLI_ASSOC

票数 1
EN

Stack Overflow用户

发布于 2017-02-14 06:06:56

在下面的语法中尝试获取记录

代码语言:javascript
复制
while($row = mysqli_fetch_assoc($result)){
   // Print Record
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42218748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档