Create REST API For Android App Using PHP and MySQL – Info PHP

Introduction

Application Programming Interface (API)

An API is good for communication between an app and a server. When we send a user request to the server using an Android server the response from your request is fast in JSON or XML format. is very simple compared to other methods like SOAP, CORBA and WSDL. The RESTful API supports the most commonly used HTTP methods (GET, POST, PUT and DELETE).

  • GET to retrieve and search data
  • POST to add data
  • PUT to update data
  • DELETE to delete data

How to Communicate Between a Device and MySQL Server using API

MySql Server

Start the Application

Step 1: Create a table in a MySQL database.

  1. CREATE TABLE products_api(  
  2.    pid int(11) primary key auto_increment,  
  3.    name varchar(100) not null,  
  4.    price decimal(10,2) not null,  
  5.    description text,  
  6.    created_at timestamp default now(),  
  7.    updated_at timestamp  
  8. ); 

Step 2: Create two files called database_connect.php.

  1. define(‘DB_USER’“root”);   
  2. define(‘DB_PASSWORD’“”);   
  3. define(‘DB_DATABASE’“myconnectapi”);   
  4. define(‘DB_SERVER’“localhost”);   
  5.  
  6.  
  7.   
  8. class DATABASE_CONNECT {  
  9.   
  10. function __construct() {  
  11.   
  12. $this->connect();  
  13. }  
  14.   
  15. function __destruct() {  
  16.   
  17. $this->close();  
  18. }  
  19. function connect() {  
  20. $con = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die(mysql_error());  
  21. $db = mysql_select_db(DB_DATABASE) or die(mysql_error()) or die(mysql_error());  
  22. return $con;  
  23. }  
  24.  
  25.  
  26.   
  27. function close() {  
  28.   
  29. mysql_close();  
  30. }  
  31. }  
  32. ?>  
  33. $MY_DB = new DB_CONNECT(); 

Insert product list API

Create an insert_product.php file. When the insert_proudct.php file is called and inserts a product the response is in JSON format.

insert_product.php

  1.    $response = array();  
  2.    if (isset($_POST[‘name’]) && isset($_POST[‘price’]) && isset($_POST[‘description’])) {  
  3.       $name = $_POST[‘name’];  
  4.       $price = $_POST[‘price’];  
  5.       $description = $_POST[‘description’];  
  6.   
  7.       require_once __DIR__ . ‘/ database_connect.php’;  
  8.   
  9.       $db = new DB_CONNECT();  
  10.       $result = mysql_query(“INSERT INTO products_api(name, price, description) VALUES(‘$name’, ‘$price’, ‘$description’)”);  
  11.   
  12.       if ($result) {  
  13.          $response[“success_msg”] = 1;  
  14.          $response[“message”] = “Product successfully Insert.”;  
  15.          echo json_encode($response);  
  16.       } else {  
  17.   
  18.          $response[“success_msg “] = 0;  
  19.          $response[“message”] = “Product not insert because Oops! An error occurred.”;  
  20.   
  21.          echo json_encode($response);  
  22.       }  
  23.    }  
  24. ?> 

The following output will be displayed in your browser.

  1. {  
  2.    ” success_msg “: 1,  
  3.    “message”“Product successfully insert.”  
  4. }  
  5. {  
  6.    ” success_msg “: 0,  
  7.    “message”” Product not insert because Oops! An error occurred.”  

Reading product details

product_details.php

Deleting a Row in MySQL (Deleting a product)

delete_product.php

  1.   
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.   
  9.   
  10.   
  11.   
  12.    $response = array();  
  13.   
  14.   
  15.   
  16.    if (isset($_POST[‘pid’])) {  
  17.   
  18.       $pid = $_POST[‘pid’];  
  19.   
  20.   
  21.   
  22.       require_once __DIR__ . ‘/db_connect.php’;  
  23.   
  24.   
  25.   
  26.       $db = new DB_CONNECT();  
  27.   
  28.   
  29.   
  30.       $result = mysql_query(“DELETE FROM products WHERE pid = $pid”);  
  31.   
  32.   
  33.   
  34.       if (mysql_affected_rows() > 0) {  
  35.   
  36.   
  37.   
  38.          $response[“success”] = 1;  
  39.   
  40.          $response[“message”] = “Product successfully deleted”;  
  41.   
  42.   
  43.   
  44.          echo json_encode($response);  
  45.   
  46.       } else {  
  47.   
  48.   
  49.   
  50.          $response[“success”] = 0;  
  51.   
  52.          $response[“message”] = “No product found”;  
  53.   
  54.   
  55.   
  56.          echo json_encode($response);  
  57.   
  58.       }  
  59.   
  60.    }  
  61.   
  62. ?> 

The output will be:

  1. {  
  2.   
  3.    “success”: 1,  
  4.   
  5.    “message”“Product successfully deleted”  
  6.   
  7. }

Article Prepared by Ollala Corp

You might also like More from author

Leave A Reply

Your email address will not be published.