This project is the prototype of a Simple Library Management System. Librarian has a provision to add book details like ISBN number, book title, author name, edition, and publication details through the web page. In addition to this, the librarian or any user has a provision to search for the available books in the library by the book name. If book details are present in the database, the search details are displayed on the web page.
This application is partitioned into 5 different files.
- To enter book details through an HTML web page – EnterBooks.php
- To insert book details into the database – InsertBooks.php
- HTML web page to enter book name to be searched – SearchBooks.php
- PHP web page to display search results – DisplayBooks.php
- Database connection details – DBConnection.php
EnterBooks.php
<!DOCTYPE HTML>
<html>
<body bgcolor="87ceeb">
<center><h2>Simple Library Management System</h2></center>
<!--Once the form is submitted, all the form data is forwarded to InsertBooks.php -->
<form action="InsertBooks.php" method="post">
<table border="2" align="center" cellpadding="5" cellspacing="5">
<tr>
<td> Enter ISBN :</td>
<td> <input type="text" name="isbn" size="48"> </td>
</tr>
<tr>
<td> Enter Title :</td>
<td> <input type="text" name="title" size="48"> </td>
</tr>
<tr>
<td> Enter Author :</td>
<td> <input type="text" name="author" size="48"> </td>
</tr>
<tr>
<td> Enter Edition :</td>
<td> <input type="text" name="edition" size="48"> </td>
</tr>
<tr>
<td> Enter Publication: </td>
<td> <input type="text" name="publication" size="48"> </td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" value="submit">
<input type="reset" value="Reset">
</td>
</tr>
</table>
</form>
</body>
</html>

Suggested Read:
Role-based Login application in PHP using MySQL
Simple Registration application in Java
InsertBooks.php
<!DOCTYPE HTML>
<html>
<body bgcolor="87ceeb">
<center><h2>Simple Library Management System</h2></center>
<br>
<?php
include("DBConnection.php");
$isbn=$_POST["isbn"];
$title=$_POST["title"];
$author=$_POST["author"];
$edition=$_POST["edition"];
$publication=$_POST["publication"];
$query = "insert into book_info(isbn,title,author,edition,publication) values('$isbn','$title','$author','$edition','$publication')"; //Insert query to add book details into the book_info table
$result = mysqli_query($db,$query);
?>
<h3> Book information is inserted successfully </h3>
<a href="SearchBooks.php"> To search for the Book information click here </a>
</body>
</html>

SearchBooks.php
<!DOCTYPE HTML>
<html>
<body bgcolor="87ceeb">
<center><h2>Simple Library Management System</h2></center>
<form action = "DisplayBooks.php" method="get">
<center>Enter the title of the book to be searched :
<input type="text" name="search" size="48">
<br></br>
<input type="submit" value="submit">
<input type="reset" value="Reset">
</center>
<br>
</form>
</body>
</html>

DisplayBooks.php
<!DOCTYPE HTML>
<html>
<body bgcolor="87ceeb">
<center><h2>Simple Library Management System</h2></center>
<br>
<?php
include("DBConnection.php");
$search = $_REQUEST["search"];
$query = "select ISBN,Title,Author,Edition,Publication from book_info where title like '%$search%'"; //search with a book name in the table book_info
$result = mysqli_query($db,$query);
if(mysqli_num_rows($result)>0)if(mysqli_num_rows($result)>0)
{
?>
<table border="2" align="center" cellpadding="5" cellspacing="5">
<tr>
<th> ISBN </th>
<th> Title </th>
<th> Author </th>
<th> Edition </th>
<th> Publication </th>
</tr>
<?php while($row = mysqli_fetch_assoc($result))
{
?>
<tr>
<td><?php echo $row["ISBN"];?> </td>
<td><?php echo $row["Title"];?> </td>
<td><?php echo $row["Author"];?> </td>
<td><?php echo $row["Edition"];?> </td>
<td><?php echo $row["Publication"];?> </td>
</tr>
<?php
}
}
else
echo "<center>No books found in the library by the name $search </center>" ;
?>
</table>
</body>
</html>

DBConnection.php
We are making use of MySQL database server in this application. The URL format and driver name going to be different for different database servers.
<?php
//Establishing connection with the database
define('DB_SERVER', 'localhost:3306');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', 'root123');
define('DB_DATABASE', 'books'); //where books is the database name
$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
?>

How to execute this program?
- Copy all PHP files to a PHP server. You can use wampserver software which provides an integrated environment to run PHP files along with MySQL database support.
- Next, open this PHP file on the browser via localhost URL. For example,
http://localhost/EnterBooks.php
to insert the book records. - Similarly, do it for
http://localhost/SearchBooks.php
to search for the book records.
You may be interested in other PHP programs.
I went back to using php/mysql after more than 15 years. This example is AWESOME, clear and well explained. Thank you so much!! From Joaçaba/SC/Brasil
Great to hear that Guillermo :)
how to run this program??????????????
please help
Shekhar, you can follow the below steps.
You need to have a PHP server to PHP code. You can use wampserver software which provides an integrated environment to run PHP files along with the MySQL database server. Copy all the PHP files into wampserver.
Next, open PHP file in the browser via localhost URL. Usually
http://localhost/EnterBooks.php
Enter book details and submit the data.
You can perform other operations similarly.
I am trying to import books from another application that no longer runs on the lower version of php. In trying to import it, I need an id field with Auto_Increment. since ISBN is set as Primary key in your application, how can I add the id field and what part of the code needs to be changed to incorporate the new field. Many thanks.
Hi Andrew,
It’s simple. First you need to alter the strcuture of the table – BOOK_INFO to add a placeholder for ID and define it as auto_incrment. This setting alone should suffice. Whenever a record is inserted into the table the id would auto increment.
Please try this and let me know.