0

我在使用 fetch 方法时遇到了一些问题。这是代码:

        $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。

有小费吗?

4

2 回答 2

0

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

于 2013-02-07T06:21:36.517 回答
-1

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

$rows_inserted = $db->query("SELECT FOUND_ROWS()")->fetchColumn();
于 2013-02-06T03:54:45.167 回答