Gandalf
September 2, 2020, 2:38pm
1
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;
igor_g
September 2, 2020, 2:43pm
2
UPDATE videos SET played = played + 1 WHERE id = :id;
1 Like
Gandalf
September 2, 2020, 2:57pm
3
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
Gandalf
September 2, 2020, 3:26pm
5
Yeah, thanks. That’s what I took it to mean.
1 Like
Gandalf
Closed
December 2, 2020, 10:27pm
6
This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.