我在使用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。
任何提示?
答案 0 :(得分:0)
你可以在MySQL中$db->lastInsertId()
(显然它不可靠,但我从来没有遇到过问题)。或者运行另一个查询:SELECT LAST_INSERT_ID()
并获取它。
答案 1 :(得分:-1)
如果您想要获取插入的行数,请使用以下查询进行操作:
$rows_inserted = $db->query("SELECT FOUND_ROWS()")->fetchColumn();