¿Cómo usar PATCH para actualizar un campo de base de datos simple?

Soy nuevo en php y API y estoy tratando de aprender los métodos. Pero no puedo realizar PATCH o PUT para actualizar mi base de datos simple de mysql. Use el siguiente código.

if(isset($_PATCH)){ $con = mysqli_connect("localhost", "root", "root","wordpress"); $sql = "UPDATE trainsample SET Location = ('$_PATCH[Location]'), Data = ('$_PATCH[Data]') WHERE Name = ('$_PATCH[Name]')"; mysqli_query($con,$sql); echo "Data Updated
"; } else { echo "Data Not found "; }

Estoy usando cartero como cliente REST e bash enviar datos para actualizar los campos. Cualquier ayuda es apreciada. Gracias de antemano.

Encontré una solución usando POST. Soy un principiante, si hay una mejor manera por favor responde.

  

El siguiente es un servidor REST completamente funcional en PHP:

 0?',':'').'`'.$columns[$i].'`='; $set.=($values[$i]===null?'NULL':'"'.$values[$i].'"'); } // create SQL based on HTTP method switch ($method) { case 'GET': $sql = "select * from `$table`".($key?" WHERE id=$key":''); break; case 'PUT': case 'PATCH': $sql = "update `$table` set $set where id=$key"; break; case 'POST': $sql = "insert into `$table` set $set"; break; case 'DELETE': $sql = "delete `$table` where id=$key"; break; } // excecute SQL statement $result = mysqli_query($link,$sql); // die if SQL statement failed if (!$result) { http_response_code(404); die(mysqli_error()); } // print results, insert id or affected row count if ($method == 'GET') { if (!$key) echo '['; for ($i=0;$i0?',':'').json_encode(mysqli_fetch_object($result)); } if (!$key) echo ']'; } elseif ($method == 'POST') { echo mysqli_insert_id($link); } else { echo mysqli_affected_rows($link); } // close mysql connection mysqli_close($link); 

Lo hace:

  • Admite verbos HTTP GET, POST, PUT, PATCH y DELETE
  • Escape todos los datos correctamente para evitar la inyección de SQL
  • Manejar valores nulos correctamente

fuente