MySQL/PHP:fetchAll()成功插入后返回0大小的数组

MySQL/PHP:fetchAll()成功插入后返回0大小的数组,php,mysql,Php,Mysql,我插入成功我可以用myPhpAdmin检查元素是否已成功插入数据库中的一个元素,但是当我获取结果以获得最后一个插入的条目时,我系统地得到一个0大小的数组。这让我发疯。很明显,有些东西我看不到,需要帮助,请: public function addSomething($myValue) { // this works fine ... $stmt = $this->pdo->prepare("INSERT INTO `table` (`blabla`) VALUES (

我插入成功我可以用myPhpAdmin检查元素是否已成功插入数据库中的一个元素,但是当我获取结果以获得最后一个插入的条目时,我系统地得到一个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 ...;
}
我试过了,但没有成功。当我用rowCount打印行数时,我得到了1???例如:

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

string(7) ">> 1<<"

感谢拉维和保罗。。。希望这会对其他人有所帮助

insert不返回行

因此,要想让某些东西发挥作用,我想你需要做一些事情,比如:

    $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);

你没有选择插入@Ravi:你是什么意思?插入后是否可以获取最后一个插入的条目?我真的需要在插入后立即进行选择吗?你说的最后一项是什么意思?您正在尝试检索最后一行吗?是的,我的意思是使用INSERT INTOSERT不返回行来获取与我刚才插入到DB中的行相对应的行。