2017-02-14 199 views
0

所以我有这样的错误:警告:mysqli_fetch_array()预计参数1被mysqli_result当我有2个参数

警告:mysqli_fetch_array()预计参数1 被mysqli_result,串在C中给出:\ wamp \ www \ Foredeck \ login.php在 第101行。

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

我是新来的PHP的方式。

<?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>"; 
} 
?> 
+0

应该是'mysqli_fetch_array($结果);'。 '$ query'持有查询字符串不是结果资源 –

+0

'mysqli_fetch_array($ result);'not'$ query' –

+0

仍然得到相同的错误@Anant –

回答

1

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

地方作为mysqli_fetch_array()函数获取一个结果行作为关联数组和你通过$查询这是字符串类型的。所以,它的投掷错误。

+0

您应该解释原因。 –

+0

解释....更新后。 – Naincy

+0

仍然得到相同的错误,即使我喜欢你说@Naincy –

1

mysqli_fetch_array()函数接受2个参数。第一个是你的查询结果,然后第二个参数接受你想得到的结果类型。选择是MYSQLI_NUM < - 这是当你想要获取数据的位置 和MYSQLI_ASSOC < - 通过其行名引用读取数据。第三个选择是MYSQLI_BOTH,如果你想两者作个参考为MYSQLI_NUMMYSQLI_ASSOC

1

尝试下面的语法获取记录

while($row = mysqli_fetch_assoc($result)){ 
    // Print Record 
} 
相关问题