0

Currently, I am developing an Android application with involves client server architecture. It is said to me that I have to write REST web service in PHP for back end communication. At that time I didn't know about RESTful architecture and etc..

In last 3 days, I learned much about REST web services and tried many tutorials. Then, I tried some code from tutorials and from SO. What I have tried so far is as follows:

I have three php files, a database named xyz and table named user_accounts with basic user details in phpmyadmin. And I have installed Advanced REST client on my browser. All code is in WWW directory of WAMP server under folder named my project. So, let me show some code:

1. db_connect.php

 <?php

            define("SERVER", '127.0.0.1');
            define("USER", 'root');
            define("PASSWORD", '');
            define("DB", 'xyz');


            $con = new mysqli(SERVER,USER,PASSWORD,DB);

            if ($con->connect_errno){
                die("Database Connection Failed");
                exit();

            }

In second file I have a function named adduser for adding user records into the database :
index.php :

    <?php
            require_once('db_connect.php');

           $response = array();

           $result = "";


           function adduser($firstname, $lastname, $email, $password) {


            global $app;

            $req = $app->request();

            $firstname= $req->params['firstname'];

            $lastname= $req->params['lastname'];

            $email = $req->params['email'];

             $password = $req->params['password'];


    $stmt = $con->prepare("INSERT INTO user_accounts (first_name,last_name,email,password)VALUES (?,?,?,?)");

                        $stmt->bind_param('ssss', $firstname, $lastname, $email, $password); 

                        $stmt->execute();

                        $result = $stmt->close();


        }

                if($result){

                          $response["success"] = 1;

                          $response["message"] = "account successfully created.";

                          echo json_encode($response);

                }

                else{

                     $response["success"] = 0;

                     $response["message"] = "An error occurred during registration.";

                     echo json_encode($response);
                 }



            ?>    

When I test it using advanced REST client by giving url :

http://127.0.0.1/my project/index.php/adduser

and method POST and parameters:

firstname=somename&lastname=name&[email protected]&password=101010

It shows following response:

{"success":0,"message":"An error occurred during registration."}

I can not identify where the error is. I am new to this. Please help if anything wrong.

9
  • Check : androidexample.com/… Commented Nov 11, 2014 at 10:58
  • Please narrow down your problem and why is there a space in your URL ? Commented Nov 11, 2014 at 10:58
  • @HareshChhelana the example you linked has nothing to do with database. Commented Nov 11, 2014 at 11:00
  • @Raptor in 'my project'? Commented Nov 11, 2014 at 11:03
  • Where are you calling adduser()? Commented Nov 11, 2014 at 11:51

1 Answer 1

1

your should try this:

$affected_rows = $stmt->rowCount();

Update:

then check if row count is greater than 0.

<?php
        require_once('db_connect.php');

       $response = array();

       $result = "";


function adduser($firstname, $lastname, $email, $password) {
    global $app;
    $req = $app->request();
    $firstname= $req->params['firstname'];
    $lastname= $req->params['lastname'];
    $email = $req->params['email'];
    $password = $req->params['password'];

    $stmt = $con->prepare("INSERT INTO user_accounts (first_name,last_name,email,password)VALUES (?,?,?,?)");

    $stmt->bind_param('ssss', $firstname, $lastname, $email, $password); 
    $stmt->execute();

    return $stmt->rowCount();
}

$adduser = addUser($firstname, $lastname, $email, $password);

if($adduser > 0){
    $response["success"] = 1;
    $response["message"] = "account successfully created.";

    echo json_encode($response);
} else{
    $response["success"] = 0;
    $response["message"] = "An error occurred during registration.";

    echo json_encode($response);
}
Sign up to request clarification or add additional context in comments.

1 Comment

where to try? I mean i am new to php

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.