2017-08-10 43 views
-3

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, string given in C:\xampp\htdocs\auction\index.php on line 7警告:mysqli_fetch_array()預計參數1被mysqli_result,在C指定的字符串: XAMPP htdocs中拍賣線路7

的index.php我如何解決這個問題? 這是我的代碼:

<?php 
    session_start(); 
    $_SESSION['logged'] = 'guest'; 
    require("functions.php"); 
    require("htmls.php"); 
    $query = "SELECT * FROM products WHERE status = 0" or die (mysql_error()); 
    while ($row = mysqli_fetch_array($query)) 
    { 
     $datenow = date("Y-m-d"); 
     $duedate = $row['duedate']; 
     $prodid = $row['productid']; 
     if($datenow >= $duedate){ 
      $query = "UPDATE products SET status = 1 WHERE productid = '$prodid'" or die (mysqli_error()); 
     } 
    } 
    $date = date("Y-m-d"); 
    headhtml(); 
?> 
+0

這不是你如何使用mysqli。請閱讀[文檔](http://php.net/mysqli_fetch_array),特別是示例。 –

+1

此外,你不能混合和匹配mysql_ *和mysqli_ *函數。 –

+0

'$ query =「SELECT * FROM products WHERE status = 0」'只定義查詢。它不會執行它 – Jens

回答

1

你忘了做查詢。

$query = "SELECT * FROM products WHERE status = 0" or die (mysqli_error()); 

應該

$query = mysqli_query("SELECT * FROM products WHERE status = 0") or die (mysqli_error()); 

而且不要忘記先連接使用mysqli_connect功能的mysqli。

如果您有查詢,請使用mysqli_fetch_array來讀取實際數據。

+0

如果我這樣做的錯誤是這樣的 警告:mysqli_query()期望至少有2個參數,第1行給出的C:\ xampp \ htdocs \ auction \ index.php 致命錯誤:未捕獲錯誤:調用C:\ xampp \ htdocs \ auction \ index.php中的未定義函數mysql_error():6堆棧跟蹤:#0 {main}拋出第6行C:\ xampp \ htdocs \ auction \ index.php –

+0

<?php \t session_start(); \t $ _SESSION ['logged'] ='guest'; \t require(「functions.php」); \t require(「htmls.php」); (「SELECT * FROM products WHERE status = 0」)或die(mysql_error()); while($ row = mysqli_fetch_array($ query)) \t { \t \t $ datenow = date(「Y-m-d」); \t \t $ duedate = $ row ['duedate']; \t \t $ prodid = $ row ['productid']; \t \t如果($ datenow> = $ DUEDATE){ \t \t \t $查詢= 「UPDATE SET產品狀態= 1 WHERE的productid = '$ PRODID'」 或死亡(mysqli_error()); \t \t} \t} \t $ date = date(「Y-m-d」); \t headhtml(); ?> –

相關問題