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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.