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

    1. To enter book details through an HTML web page – EnterBooks.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
<!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>
blank

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

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

How to execute this program?

  1. 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.
  2. Next, open this PHP file on the browser via localhost URL. for example http://localhost/EnterBooks.php to insert the book records.
  3. Similarly, do it for http://localhost/SearchBooks.php to search for the book records.
Suggested articles for you:

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

  1. blanksudha

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

    Reply
  2. blanksaipraveen

    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. blankRavi 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
  3. blankSam 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. blankSam 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
  4. blankkanika

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

    Reply
  5. blankPUJA 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. blankRavi 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. blankPuja 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. blankPUJA 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? Would you like to express?