1) Write the regular update statement and again, instead of values, assign the named placeholders. For example:
$sql = "UPDATE `users` SET `city`= :city, `phone` = :tel WHERE `id` = :id";
2) Prepare the query:
$query = $dbh->prepare($sql);
3) Bind the parameters:
$query -> bindParam(':city', $city, PDO::PARAM_STR); $query -> bindParam(':tel' , $tel , PDO::PARAM_INT); $query -> bindParam(':id' , $id , PDO::PARAM_INT);
4) Define the bound values:
$tel = '06901234567'; $city = 'New Delhi'; $id = 1;
5) Execute the query:
$query -> execute();
6) Check that the query has been performed and that the database has been successfully updated.
if($query -> rowCount() > 0) { $count = $query -> rowCount(); echo $count . " rows were affected."; } else { echo "No affected rows."; } All together now: $sql = "UPDATE users SET `city`= :city, `phone` = :tel WHERE `id` = :id"; $query = $dbh->prepare($sql); $query -> bindParam(':city', $city, PDO::PARAM_STR); $query -> bindParam(':tel' , $tel , PDO::PARAM_INT); $query -> bindParam(':id' , $id , PDO::PARAM_INT); $tel = '02012345678'; $city = 'London'; $id = 1; $query -> execute(); if($query -> rowCount() > 0) { $count = $query -> rowCount(); echo $count . " rows were affected."; } else { echo "No affected rows."; }