Stored Procedure Tutorial in PHP:
Are you writing Stored Procedures if not please take a look at this post. Stored procedures can help to improve web application performance and reduce database access traffic. In this post I want to explain how to create and call the stored procedures from database server.

 
Database:
users table contains username and name.

CREATE TABLE users

(

id INT PRIMARY KEY AUTO_INCREMENT,

username VARCHAR(50) UNIQUE,

name VARCHAR(50),

);

 

Results.php (Direct database server access)
Calling SQL statements directly. Here displaying the users content with PHP.

<?php

include(‘db.php‘); // Check code below of the post.

$sql=mysql_query(“SELECT user,name FROM users”);

while($row=mysql_fetch_array($sql))

{

echo $row[‘user’].’–‘.$row[‘name’].’</br>‘;

}

?>

 

How to Create Stored Procedure
You can create stored procedures that run on your database server. Stored Procedure name users(). Just like SQL statements.

DELIMITER //

CREATE PROCEDURE users()

SELECT username,name FROM users;

 
How to Call Stored Procedure

Results.php (With stored procedures)
Notice that here mysqli(MySQL Improved Extension)

<?php

include(“newdb.php”);

$sql=mysqli_query($connect,”CALL users()“);

while($row=mysqli_fetch_array(sql))

{

echo $row[‘user’].’–‘.$row[‘name’].”;

}

 

Stored Procedure Input OR Insert
Normal Way
insert procedure IN – Input , name and datatype.

DELIMITER //

CREATE PROCEDURE insert(IN username VARCHAR(50),IN name VARCHAR(50))

INSERT INTO users(username,name) VALUES (username,name);

 
Better Way
I recommend you to create stored procedures following statements.

DELIMITER //

CREATE PROCEDURE insert(IN username VARCHAR(50),IN name VARCHAR(50))

BEGIN

SET @username=username;

SET @name=name;

PREPARE STMT FROM

INSERT INTO users(username,name) VALUES (?,?)”;

EXECUTE STMT USING @username,@name;

END

 

 

 

insert.php
Here inserting values into users table with calling insert() procedure.

<?php

include(“newdb.php”);

$username=’Venugopal24′;

$name=’venugopal’;

$sql=mysqli_query($connect,

CALL insert(‘$username’,’$name’)“);

?>