2017-09-30 85 views
-2

我插入成功(我可以檢查與myPhpAdmin,該元素已成功插入)數據庫中的一個元素,但當我獲取結果得到最後一個插入的條目,我係統地得到一個0大小的數組。這讓我發瘋。顯然有一些我不看的,需要幫助的,一個請:MySQL/PHP:fetchAll()成功插入後返回0大小的數組

public function addSomething($myValue) 
{ 
    // this works fine ... 
    $stmt = $this->pdo->prepare("INSERT INTO `table` (`blabla`) VALUES (?)"); 
    $stmt->execute(array($myValue)); 

    // no luck with that 
    $result = $stmt->fetch(PDO::FETCH_ASSOC); 

    var_dump($result); // always empty 

    //return ...; 
} 

我試圖fetchAll沒有更多的成功。當我用rowCount打印行數時,我得到了1 ???例如:

var_dump(">> " . $result . " " . $stmt->rowCount() . "<<"); 

給出:

string(7) ">> 1<<" 
+0

你沒有選擇,而不是'INSERT INTO' – Ravi

+0

@Ravi:什麼你的意思是?在INSERT之後不能獲取最後插入的條目嗎?我需要在INSERT之後真正做一個SELECT嗎? – user18490

+0

最後一次輸入是什麼意思?你想要檢索最後一行嗎? – Ravi

回答

0

由於拉維和保羅...希望這將是爲別人有用。

插入不返回行

所以得到的東西的工作我想你需要做的是這樣的:

$stmt = $this->pdo->prepare("SELECT * FROM `table` WHERE row_id=?"); 
    $stmt->execute(array($this->pdo->lastInsertId())); 

    // return the full new inserted comment 
    return $stmt->fetch(PDO::FETCH_ASSOC);