Updating a play count in SQLite

I have a script that updates a play count whenever a video has been played. It works but I’m wondering if there’s a simpler way to do it.

  $db = new PDO('sqlite:'.$dba);
  $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $query = 'SELECT played FROM videos WHERE id = :id;';
  $stmt = $db->prepare($query);
  $stmt->bindParam(':id', $id);
  $stmt->execute();
  $row = $stmt->fetch();

  $played = $row['played'] + 1;
  $query = 'UPDATE videos SET played = :played WHERE id = :id;';
  $stmt = $db->prepare($query);
  $stmt->bindParam(':id', $id);
  $stmt->bindParam(':played', $played);
  $stmt->execute();

  $db = null;
UPDATE videos SET played = played + 1 WHERE id = :id;
1 Like

Ah, thanks @igor_g. It is that simple after all!

Additionally, the whole SELECT block of code is not needed. This should be all you need.

    $db = new PDO('sqlite:'.$dba);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $query = 'UPDATE videos SET played = played + 1 WHERE id = ?';
    $stmt = $db->prepare($query);
    $stmt->execute[$id];
1 Like

Yeah, thanks. That’s what I took it to mean.

1 Like

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.