将数据更新到MySQL表中如果已经存在[重复]

This question already has an answer here:

I am using the following script to Insert data and upload image to server

if($_SERVER['REQUEST_METHOD']=='POST') {

    $image = $_POST['image'];
    $name = $_POST['name'];
    $rId = $_POST['rId'];

    $path = "uploads/$rId.png";

    $sql = "insert into room_info (r_id,url,name) VALUES ('$rId','$path','$name')";

    if(mysqli_query($con,$sql)){
        file_put_contents($path, base64_decode($image));
        echo "Successfully Uploaded";
    }

    mysqli_close($con);

    } else {

    echo "Error";
}

Now, I want to modify above script, which can allow me, to update data into mysql table and most importantly update image into uploads folder if rId already exists

I know that below query I can use to read data from mysql, to check whether record already exists or not for particular rId

$strSQL = "SELECT * FROM room_info WHERE r_id = '$rId' ";

And to update I could use something like this:

update room_info set name = $name where r_id = $rId;

But curious to know that How can I use all these query together, to insert record, to check record, to update record and at last but not least to update image into uploads folder

NOTE: THIS IS NOT A DUPLICATE QUESTION; BECAUSE I JUST NOT NEED TO UPDATE THE DATA IN MYSQL TABLE, EVEN IMAGE IN UPLOADS FOLDER

</div>

Use INSERT ... ON DUPLICATE KEY UPDATE

Make 'r_id' column unique in room_info and Change your query

$sql = "insert into room_info (r_id,url,name) VALUES ('$rId','$path','$name')";

to 

$sql = "insert into room_info (r_id,url,name) VALUES ('$rId','$path','$name')
ON DUPLICATE KEY UPDATE url='$path'";