2017-02-14 198 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 
} 
相關問題