PDOStatement :: fetch返回false

时间:2013-02-06 03:44:06

标签: php pdo fetch

我在使用fetch-method时遇到了一些麻烦。这是代码:

        $stmt = $db->prepare("INSERT INTO x (name) VALUES (:username)");
        $stmt->bindParam(':username', $username);
        $result = $stmt->execute();
        if ($result == '1') {
            $id = $stmt->fetch();
            return $id;
        }

执行查询并插入数据,$ result为'1'。但是,当我尝试获取结果时,它返回false。

任何提示?

2 个答案:

答案 0 :(得分:0)

你可以在MySQL中$db->lastInsertId()(显然它不可靠,但我从来没有遇到过问题)。或者运行另一个查询:SELECT LAST_INSERT_ID()并获取它。

答案 1 :(得分:-1)

如果您想要获取插入的行数,请使用以下查询进行操作:

$rows_inserted = $db->query("SELECT FOUND_ROWS()")->fetchColumn();