2017-02-10 51 views
-3

我不明白致命錯誤:調用上的空成員函數FETCH_ASSOC()第9行

Непонимаю,вчемзаключаетсяошибка

<?php 

$mysqli = new mysqli ('localhost', 'root', '', 'UTS'); 
$mysqli->query("SET NAMES 'utf-8'"); 
$result_set = $mysqli->query ("SELECT * FROM 'product'"); 
$mysqli -> close(); 

function printResult ($result_set) { 
    while (($row = $result_set->fetch_assoc()) != false) { 
     print_r ($row); 
     echo "<br/>"; 
    } 
} 
+0

[檢查例子從這裏學習](http://php.net/manual/en/mysqli.examples-basic.php) –

+0

歡迎來到StackOverflow。請花點時間訪問[幫助中心](http://stackoverflow.com/help)並閱讀[如何提問](http://stackoverflow.com/help/how-to-ask),這樣你可以瞭解這裏接受哪些類型的問題,如何撰寫問題以及如何有效地使用本網站 –

回答

0

你可以嘗試這樣的... 。你必須獲取該數組,你可以打印....

<?php 
$mysqli = new mysqli ('localhost', 'root', '', 'db_name'); 
$mysqli->query("SET NAMES 'utf-8'"); 
$result_set= mysqli_query($mysqli,"SELECT * FROM products"); 
$row=mysqli_num_rows($result_set); 
echo $row; 
while($row=mysqli_fetch_array($result_set)) 
{    
print_r($row); 
} 
?> 
0
  1. $result_set是功能範圍之外。你不能在函數中訪問它。
  2. 你從一個字符串不是一個表名

選擇嘗試以下變化:

<?php 



function printResult() { 
    $mysqli = new mysqli ('localhost', 'root', '', 'UTS'); 
    $mysqli->set_charset("utf-8"); //Better to do it this way 
    $result_set = $mysqli->query ("SELECT * FROM `product`"); //Not the ` instead of ' 

    while (($row = $result_set->fetch_assoc()) != false) { 
     print_r ($row); 
     echo "<br/>"; 
    } 
    $mysqli -> close(); 
} 

您可以從任何地方運行該功能。