Skip to content

Simple Library Management System in PHP using MySQL

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

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.

You may be interested in other PHP programs.

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

  1. blank

    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

    1. blank

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

    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.

    1. blank

      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.

Did it help? Would you like to express?