我使用PDO更新了数据库中的一行记录。
$stmt = $db->prepare("UPDATE product SET price=? WHERE seller=?");
$stmt->execute(array(456,"Apple"));
这对我没有起作用。
$updated_id = $db->lastInsertId();
我如何获取更新行的ID。
我使用PDO更新了数据库中的一行记录。
$stmt = $db->prepare("UPDATE product SET price=? WHERE seller=?");
$stmt->execute(array(456,"Apple"));
这对我没有起作用。
$updated_id = $db->lastInsertId();
我如何获取更新行的ID。
您最好使用PDO::rowCount()
来获取受影响的行数。请记住,您的更新语句可能不只更新一行,因此没有办法只获取一个ID。
$stmt = $db->query("SELECT id FROM product WHERE seller=:seller");
$stmt->bindParam(':seller', $sellerName, PDO::PARAM_STR)
$row =$stmt->fetchObject();
echo $row->id;
使用这个
$sql="Update table_1 set col_1=?,col_id = LAST_INSERT_ID(col_id) where col_2=? limit 1;SELECT LAST_INSERT_ID() last_update_id;";
$stmt =$dbh->prepare($sql);
$stmt->execute(array('new_val','cond_val'));
$stmt->nextRowset();
$rez=$stmt->fetch(PDO::FETCH_ASSOC);
print_r($rez);
$dbh->lastInsertId();
。 - Your Common Sense