Kilka rzeczy do naprawienia. najpierw używasz mysql, kiedy powinieneś używać mysqli lub PDO. Po drugie, używasz danych pocztowych bez żadnego uciekania. Po trzecie, nie potrzebujesz tego wyboru i aktualizacji. Możesz to zrobić w jednym oświadczeniu.
$query = "UPDATE tinyblog SET views = views + 1 WHERE id = (SELECT id FROM tinyblog where id=:article)"
$db = new PDO('mysql:host=localhost;dbname=mydb', 'username', 'password');
$stmt = $db->prepare($query);
$stmt->execute(array(":article"=>$article_id));
To, co tutaj robimy, to tworzenie przygotowanego zestawienia z jednym miejscem. Nazwaliśmy go jako :article
ale mógł zostać jako ?
zamiast tego.
Następnie, gdy zapytanie jest wykonywane, musisz uzupełnić brakujące bity, przekazując parametry. To właśnie robimy w ostatnim kroku z array(":article"=>$article_id)
Ponieważ jest to nazwany parametr, używamy tablicy asocjacyjnej. Alternatywnie możesz wywołać wykonywanie bez żadnych parametrów, jeśli wywołałeś bindParam pierwszy.