Simple Library Management System in PHP using MySQL

By | October 20, 2019

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, 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.

    1. To enter book details through an HTML web page – EnterBook.php
    2. To insert book details into the database – InsertBooks.php
    3. HTML web page to enter book name to be searched – SearchBooks.php
    4. PHP web page to display search results – DisplayBooks.php
    5. Database connection details – DBConnection.php

EnterBooks.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>

Enter book details for a Library Management System

Suggested Read:

//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>

Insert book details in Library Management System

//SearchBooks.php
<!DOCTYPE HTML>
<html>
<body bgcolor="87ceeb">
<center><h2>Simple Library Management System</h2></center>
<form action = "DisplayBooks.php" method="get">
<br>
<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>

Search for a book in Library Management System

//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>
<br>

Searched book details in Library Management System

//DBConnection.php

<?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);

?>
<br>

MySQL scripts to create database and table for a Library Management System

Suggested articles for you:

54 thoughts on “Simple Library Management System in PHP using MySQL

  1. Girija

    Hi,

    Urgently required software for managing library. Please give us your email address.

    Reply
  2. Girija

    Hi,

    We have library management system offline. But we wanted to convert it to online with html, css etc. Is possible to convert and give.

    Reply
  3. Bharat Kumar

    Sir, what about sql injections ? should we not use pdo/prepared statements as a must. i am learning php and everyone says this is must. also sir i reading an article, it says something about xss and csrf .please advise

    Reply
  4. swetha

    sir i use tomcat to run php code and mysql server for db.inserted books is not shown in display page.why???

    Reply
    1. Ravi Bandakkanavar Post author

      Hi,

      Please check whether the records are present in the table. If records are present then we need to check whether fetch query is working fine or not.

      Reply
  5. Chaitali

    how should I connect to database using oracle 10g username and password?

    Reply
  6. asad ali

    sir i’m having an issue on insert page
    Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\lib\insertbooks.php on line 17
    this is the error
    please help

    Reply
    1. Ravi Bandakkanavar Post author

      Hi,

      I believe it is getting failed at insert query. Please check your database connection and the book_info table structure.

      Reply
  7. Teju

    how to create db ?
    can i create it using oracle(run sql) software

    Reply
  8. Teju

    can i use xampp and can store my db in phpmyadmin is it possible or not please answer me

    Reply
  9. Saud

    Notice:Undefined varialbe:Search on Displaybook.php
    Please can u help me

    Reply
  10. Jacob

    Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\wamp64\www\librarydemo\DisplayBooks.php on line 18. any help?

    Reply
  11. Thankyou

    Ravi, just wanted to say a big thankyou, works fine and is a great tutorial for creating and searching records!
    Thankyou again

    Reply
  12. Zayn

    sir everything is working fine but the data is not being retrieved. I do not have sql in my system, so is it because of that?? Kindly note that no error is being shown!

    Reply
  13. Puja

    Hello sir plzz help me can u send me the complited code of book-shop management…
    I m beginner don’t know how to connect front end to the backend plzz help sir…
    Can u send the code in this mailId-pujakk911@gmail.com

    Reply
  14. rexmainali@gmail.com

    sir please can uhelp me sending complete database project on library mgmt system on sql htmlphp
    i can help u from any after submission i daily surf this krazytechblog
    ao believe on me i need compleete code with this 5 november please try this fo r me

    Reply
  15. sathasivam

    I am beginner. i don’t know how to create table in db and connecting with db……….can u give me a solution for the above library management system……

    Reply
  16. sudha

    sir, i need this code as fast as possible the above code is getting errors

    Reply
  17. saipraveen

    mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in D:\xampp\htdocs\klu\insertbook1.php plzzz fix it bro….

    Reply
    1. Ravi Bandakkanavar Post author

      Hi Sai,

      In the InsertBooks code, there is only one function being used.
      $result = mysqli_query($db,$query); i.e. to insert the book details into the database.

      Reply
  18. Sam b

    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

    Reply
    1. Sam b

      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

      Reply
  19. kanika

    Hy, please if you can help me with the code for issuing book and returning books and fine calculation

    Reply
  20. PUJA DAS

    enterbooks.php is a html file.there is no use of php tag(?php ?>)..why did you save it as a php file?

    Reply
    1. Ravi Bandakkanavar Post author

      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

      Reply
      1. Puja Das

        Thank you.could you please upload the source code of how to issue books,return books,availability of books,display all these thing..

        Reply
      2. PUJA DAS

        Thank you.Could you please upload or write the source code of how to issue books,return books,availability of books,display books..

        Reply

Did it help? Comment here..