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.
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\WEB PROGRAMMING FOR 3rd SEm\BOOK INFO\DisplayBooks.php on line 14
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\WEB PROGRAMMING FOR 3rd SEm\BOOK INFO\DisplayBooks.php on line 30
AccessNo Title Author Edition Publication
Sam,
Are you still facing this issue?
a bro i am beginners.. so..plz send me code to this mail id [email protected]
i need this hole source code its very argnt
Hi Sam,
Copy the same code as it is. It works fine.
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in what to do i dont knw brooo plzzzzzzz fix this prblm wht can i do
Hy, please if you can help me with the code for issuing book and returning books and fine calculation
enterbooks.php is a html file.there is no use of php tag(?php ?>)..why did you save it as a php file?
Hi Puja,
PHP is a server side scripting language. It executes on the server and only the output is downloaded on the client’s computer whereas the HTML is a client side scripting language and whole code is executed on the client’s computer.
It is advised to maintain uniformity while building any application.
We can extend our code anytime to display error messages set from a PHP page on to the form page. You can see this practice followed in the in Java login/registration application.
https://krazytech.com/programs/java-registration-page-using-servlet-mysql-mvc
https://krazytech.com/programs/a-login-application-in-java-using-model-view-controllermvc-design-pattern
Thank you.could you please upload the source code of how to issue books,return books,availability of books,display all these thing..
You need to alter the table and add columns like issued_date, returned_date and based on these two columns you can check for the availability.
You can refer to the following code to display book details.
https://krazytech.com/programs/a-php-program-to-save-records-retrieving-from-database-using-mysql
hello
Thank you.Could you please upload or write the source code of how to issue books,return books,availability of books,display books..
Hi Puja,
Can you try it yourself? reach out to us for doubts.