# I want to send my data to database with about 3 to 4 images. Also fetch it with RESR API Android Studio

**URL:** <https://discourse.slimframework.com/t/i-want-to-send-my-data-to-database-with-about-3-to-4-images-also-fetch-it-with-resr-api-android-studio/5558>\
**Category:** Questions\
**Created:** [March 12, 2023, 11:26am UTC](https://discourse.slimframework.com/t/i-want-to-send-my-data-to-database-with-about-3-to-4-images-also-fetch-it-with-resr-api-android-studio/5558 "2023-03-12T11:26:01Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![SlimPrince](https://avatars.discourse-cdn.com/v4/letter/s/90db22/32.png) [@SlimPrince](https://discourse.slimframework.com/u/SlimPrince)\
**Post date:** [March 12, 2023, 11:26am UTC](https://discourse.slimframework.com/t/i-want-to-send-my-data-to-database-with-about-3-to-4-images-also-fetch-it-with-resr-api-android-studio/5558/1 "2023-03-12T11:26:01Z")

</div>

I’ve almost completed this Android App project before I realized that I need to upload the products with pictures. Subscribers will have to register the product with image and I’ll have to upload it using REST API in android studio.  
I just started using Slim Framework and it is just the best for me and I want to learn more about it. I’m just a beginner.

Below is my code without images and please I need help to learn how to add images to it.  
Below is my “DbOperationsProperties.php”

\<?php class PropertyDetails{ private $con; function \_\_construct(){ require\_once dirname(\_\_FILE\_\_) . '/DbConnect.php'; $db = new DbConnect; $this-\>con = $db-\>connect(); } // -------------------------------------------------------------------- public function createUserPrDt($personalIdCode, $propertyType, $propertyLocation, $plotNumber, $propertySize, $propertyTitle, $propertyPurpose, $propertyNetPrice, $propertyDescription){ if(!$this-\>isPlotNumberExist($plotNumber)){ $stmt = $this-\>con-\>prepare("INSERT INTO property\_register\_propdetails (personalIdCode, propertyType, propertyLocation, plotNumber, propertySize, propertyTitle, propertyPurpose, propertyNetPrice, propertyDescription) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"); $stmt-\>bind\_param("sssssssss", $personalIdCode, $propertyType, $propertyLocation, $plotNumber, $propertySize, $propertyTitle, $propertyPurpose, $propertyNetPrice, $propertyDescription); if($stmt-\>execute()){ return USER\_CREATED; }else{ return USER\_FAILURE; } } return USER\_EXISTS; } // --------------------------------------------------------------------- public function getAllUsersPrDt(){ $stmt = $this-\>con-\>prepare("SELECT id, personalIdCode, propertyType, propertyLocation, plotNumber, propertySize, propertyTitle, propertyPurpose, propertyNetPrice, propertyDescription FROM property\_register\_propdetails;"); $stmt-\>execute(); $stmt-\>bind\_result($id, $personalIdCode, $propertyType, $propertyLocation, $plotNumber, $propertySize, $propertyTitle, $propertyPurpose, $propertyNetPrice, $propertyDescription); $users = array(); while($stmt-\>fetch()){ $user = array(); $user['id'] = $id; $user['personalIdCode']=$personalIdCode; $user['propertyType'] = $propertyType; $user['propertyLocation'] = $propertyLocation; $user['plotNumber']=$plotNumber; $user['propertySize'] = $propertySize; $user['propertyTitle'] = $propertyTitle; $user['propertyPurpose'] = $propertyPurpose; $user['propertyNetPrice'] = $propertyNetPrice; $user['propertyDescription'] = $propertyDescription; array\_push($users, $user); } return $users; } // ---------------------------------------------------------------------- public function getUserPrDtByPlotNumber($plotNumber){ $stmt = $this-\>con-\>prepare("SELECT id, personalIdCode, propertyType, propertyLocation, plotNumber, propertySize, propertyTitle, propertyPurpose, propertyNetPrice, propertyDescription FROM property\_register\_propdetails WHERE plotNumber = ?"); $stmt-\>bind\_param("s", $plotNumber); $stmt-\>execute(); $stmt-\>bind\_result($id, $personalIdCode, $propertyType, $propertyLocation, $plotNumber, $propertySize, $propertyTitle, $propertyPurpose, $propertyNetPrice, $propertyDescription); $stmt-\>fetch(); $user = array(); $user['id'] = $id; $user['personalIdCode']=$personalIdCode; $user['propertyType'] = $propertyType; $user['propertyLocation'] = $propertyLocation; $user['plotNumber']=$plotNumber; $user['propertySize'] = $propertySize; $user['propertyTitle'] = $propertyTitle; $user['propertyPurpose'] = $propertyPurpose; $user['propertyNetPrice'] = $propertyNetPrice; $user['propertyDescription'] = $propertyDescription; return $user; } // ------------------------------------------------------------- public function updateUsersPrDt($personalIdCode, $propertyType, $propertyLocation, $plotNumber, $propertySize, $propertyTitle, $propertyPurpose, $propertyNetPrice, $propertyDescription, $id){ $stmt = $this-\>con-\>prepare("UPDATE property\_register\_propdetails SET personalIdCode = ?, propertyType = ?, propertyLocation = ?, plotNumber = ?, propertySize = ?, propertyTitle = ?, propertyPurpose = ?, propertyNetPrice = ?, propertyDescription = ? WHERE id = ?"); $stmt-\>bind\_param("sssssssssi", $personalIdCode, $propertyType, $propertyLocation, $plotNumber, $propertySize, $propertyTitle, $propertyPurpose, $propertyNetPrice, $propertyDescription, $id); if($stmt-\>execute()) return true; return false; } // ------------------------------------------------------------------- public function deleteUserPrDt($id){ $stmt = $this-\>con-\>prepare("DELETE FROM property\_register\_propdetails WHERE id = ?"); $stmt-\>bind\_param("i", $id); if($stmt-\>execute()) return true; return false; } // ------------------------------------------------------------------------------- private function isPlotNumberExist($plotNumber){ $stmt = $this-\>con-\>prepare("SELECT id FROM property\_register\_propdetails WHERE plotNumber = ?"); $stmt-\>bind\_param("s", $plotNumber); $stmt-\>execute(); $stmt-\>store\_result(); return $stmt-\>num\_rows \> 0; } } Below is my “index.php” \<?php $app-\>post('/createuserprdt', function(Request $request, Response $response){ if(!haveEmptyParameters(array('personalIdCode', 'propertyType', 'propertyLocation', 'plotNumber', 'propertySize', 'propertyTitle', 'propertyPurpose', 'propertyNetPrice', 'propertyDescription'), $request, $response)){ $request\_data = $request-\>getParsedBody(); $personalIdCode = $request\_data['personalIdCode']; $propertyType = $request\_data['propertyType']; $propertyLocation = $request\_data['propertyLocation']; $plotNumber = $request\_data['plotNumber']; $propertySize = $request\_data['propertySize']; $propertyTitle = $request\_data['propertyTitle']; $propertyPurpose = $request\_data['propertyPurpose']; $propertyNetPrice = $request\_data['propertyNetPrice']; $propertyDescription = $request\_data['propertyDescription']; $db = new PropertyDetails; $result = $db-\>createUserPrDt($personalIdCode, $propertyType, $propertyLocation, $plotNumber, $propertySize, $propertyTitle, $propertyPurpose, $propertyNetPrice, $propertyDescription); if($result == USER\_CREATED){ $message = array(); $message['error'] = false; $message['message'] = 'Form subitted successfully'; $response-\>write(json\_encode($message)); return $response -\>withHeader('content-type', 'application/json') -\>withStatus(201); }else if($result == USER\_FAILURE){ $message = array(); $message['error'] = true; $message['message'] = 'Some error occurred'; $response-\>write(json\_encode($message)); return $response -\>withHeader('content-type', 'application/json') -\>withStatus(422); }else if($result == USER\_EXISTS){ $message = array(); $message['error'] = true; $message['message'] = 'Error...!!! Plot Number Already Exist'; $response-\>write(json\_encode($message)); return $response -\>withHeader('content-type', 'application/json') -\>withStatus(422); } } return $response -\>withHeader('content-type', 'application/json') -\>withStatus(422); }); // ---------------------------------------------------------------- $app-\>get('/allusersprdt', function(Request $request, Response $response){ $db = new PropertyDetails; $users = $db-\>getAllUsersPrDt(); $response\_data = array(); $response\_data['error'] = false; $response\_data['users'] = $users; $response-\>write(json\_encode($response\_data)); return $response -\>withHeader('content-type', 'application/json') -\>withStatus(200); }); // ------------------------------------------------------------------ $app-\>get('/getuserprdt/{plotNumber}', function(Request $request, Response $response, array $args){ $plotNumber = $args['plotNumber']; $db = new PropertyDetails; $users = $db-\>getUserPrDtByPlotNumber($plotNumber); $response\_data = array(); $response\_data['error'] = false; $response\_data['users'] = $users; $response-\>write(json\_encode($response\_data)); return $response -\>withHeader('content-type', 'application/json') -\>withStatus(200); }); // ------------------------------------------------------------------- $app-\>put('/updateusersprdt/{id}', function(Request $request, Response $response, array $args){ $id = $args['id']; if(!haveEmptyParameters(array('personalIdCode', 'propertyType', 'propertyLocation', 'plotNumber', 'propertySize', 'propertyTitle', 'propertyPurpose', 'propertyNetPrice', 'propertyDescription', 'id'), $request, $response)){ $request\_data = $request-\>getParsedBody(); $personalIdCode = $request\_data['personalIdCode']; $propertyType = $request\_data['propertyType']; $propertyLocation = $request\_data['propertyLocation']; $plotNumber = $request\_data['plotNumber']; $propertySize = $request\_data['propertySize']; $propertyTitle = $request\_data['propertyTitle']; $propertyPurpose = $request\_data['propertyPurpose']; $propertyNetPrice = $request\_data['propertyNetPrice']; $propertyDescription = $request\_data['propertyDescription']; $id = $request\_data['id']; $db = new PropertyDetails; if($db-\>updateUsersPrDt($personalIdCode, $propertyType, $propertyLocation, $plotNumber, $propertySize, $propertyTitle, $propertyPurpose, $propertyNetPrice, $propertyDescription, $id)){ $response\_data = array(); $response\_data['error'] = false; $response\_data['message'] = 'User Update Successfully'; // $user = $db-\>getUserPrDtByPlotNumber($plotNumber); // $response\_data['user'] = $user; $response-\>write(json\_encode($response\_data)); return $response -\>withHeader('content-type', 'application/json') -\>withStatus(200); }else{ $response\_data = array(); $response\_data['error'] = true; $response\_data['message'] = 'Please try again later'; // $user = $db-\>getUserPrDtByPlotNumber($plotNumber); // $response\_data['user'] = $user; $response-\>write(json\_encode($response\_data)); return $response -\>withHeader('content-type', 'application/json') -\>withStatus(200); } } return $response -\>withHeader('content-type', 'application/json') -\>withStatus(200); }); // --------------------------------------------------------------------------- $app-\>delete('/deleteuserprdt/{id}', function(Request $request, Response $response, array $args){ $id = $args['id']; $db = new PropertyDetails; if($db-\>deleteUserPrDt($id)){ $response\_data['error'] = false; $response\_data['message'] = 'User has been deleted'; }else{ $response\_data['error'] = true; $response\_data['message'] = 'Please try again later'; } $response-\>write(json\_encode($response\_data)); return $response -\>withHeader('content-type', 'application/json') -\>withStatus(200); }); function haveEmptyParameters($required\_params, $request, $response){ $error = false; $error\_params = '' ; $request\_params = $request-\>getParsedBody(); foreach($required\_params as $param){ if(!isset($request\_params[$param]) || strlen($request\_params[$param])\<=0){ $error = true; $error\_params .= $param . ', '; } } if($error){ $error\_detail = array(); $error\_detail['error'] = true; $error\_detail['message'] = 'Required parameters ' . substr($error\_params, 0, -2) . ' are missing or empty'; $response-\>write(json\_encode($error\_detail)); } return $error; } $app-\>run(); BELOW is my “Constant.php” \<?php define('DB\_HOST', 'localhost'); define('DB\_USER', 'root'); define('DB\_PASSWORD', ''); define('DB\_NAME', 'stanbaize'); define('USER\_CREATED', 101); define('USER\_EXISTS', 102); define('USER\_FAILURE', 103); define('USER\_AUTHENTICATED', 201); define('USER\_NOT\_FOUND', 202); define('USER\_PASSWORD\_DO\_NOT\_MATCH', 203); define('PASSWORD\_CHANGED', 301); define('PASSWORD\_DO\_NOT\_MATCH', 302); define('PASSWORD\_NOT\_CHANGED', 303); I use Postman to run my check. this code is working, and like I said, I need to add three to four pictures to the form. I really need help on this.

---

<div class="post-metadata">

**Author:** ![odan](https://avatars.discourse-cdn.com/v4/letter/o/9de053/32.png) [@odan](https://discourse.slimframework.com/u/odan)\
**Post date:** [March 12, 2023, 1:45pm UTC](https://discourse.slimframework.com/t/i-want-to-send-my-data-to-database-with-about-3-to-4-images-also-fetch-it-with-resr-api-android-studio/5558/2 "2023-03-12T13:45:13Z")

</div>

I closed this topic as a duplicate.
