2015-06-27 80 views
0

我正試圖在數組中獲取我的結果行。當我運行的代碼,它告訴我下面的:

Call to a member function fetch() on boolean in file.php on line 69 

我做了以下

$query = "INSERT INTO table(info) VALUES(:info)"; 

$params = array(':info' => $_POST['info']); 

try { 
    $stmt = $db->prepare($query); 
    $result = $stmt->execute($params); 
} 
catch (PDOException $ex) { 
    $response["error"] = TRUE; 
    $response["error_msg"] = "Insertion Error. Please Try Again"; 
    echo $response["error_msg"]; 
    die(json_encode($response)); 
} 

while($row = $result->fetch()) { 

} 

echo $row["info"]; 

我是新來的PHP,所以我不能完全肯定我在做什麼錯在這裏。如有必要,我可以澄清任何事情。所有幫助表示讚賞!

+1

你需要明白'INSERT'查詢不返回任何形式的數據庫,它只會根據成功執行返回'true或false'。 'SELECT'查詢將從數據庫中返回一堆行的'resultset object'。在那你可以申請'fetch()'。 –

回答

0

插入不返回任何東西。它將如果您編輯查詢的SELECT語句像這樣:

SELECT * FROM info. 

也把$行[「信息」]的,而裏面的,因爲雖然會重演,直到沒有什麼可獲取。這意味着它將打印所有數據庫行的$ row [「info」]。