-1

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

Oreo
  • 2,480
  • 8
  • 35
  • 61
  • check that row with corresponding id is already exists or not with num_rows() function and if data already exists than update it else insert it (because it's a new record) – Bhavin Aug 28 '16 at 09:39
  • @Bhavin Can you show me the modified script, which you think I should check... Actually I am not PHP Developer, just a new learner and trying to learn – Oreo Aug 28 '16 at 09:41

1 Answers1

1

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'";
Indra Kumar S
  • 2,022
  • 2
  • 13
  • 22