PHP Tutorial

PHP Examples

PHP Practice

How to Use PHP to Insert Data Into MySQL Database?

Learn, how to insert data into MySQL database using PHP?
Submitted by Jyoti Singh, on January 31, 2018 [Last updated : March 13, 2023]

Create MySQL schema and a table

First, create a schema in a database and create table in it add following fields in it.

product schema for PHP example

This table holds the data for a product supplier.

HTML form to get the data from the user

Now, create an Html form to get the data from the user. Make a file named "supplier.php" and add the following code in it:

HTML Code

<html>
  <form action='supplierSubmit.php' method="post" enctype='multipart/form-data'>
    <center>
      <table>
        <caption>
          <font size='5'><b>Supplier Details</b></font>
        </caption>
        <tr>
          <td><b>Supplier Id:</b></td>
          <td><input type='text' name='sid' size=30></td>
        </tr>
        <tr>
          <td><b>Supplier Name:</b></td>
          <td><input type='text' name='sn' size=30></td>
        </tr>
        <tr>
          <td><b>Firmname:</b></td>
          <td><input type='text' name='fn' size=30></td>
        </tr>
        <tr>
          <td><b>Gender:</b></td>
          <td>
            <input type=radio name='gen' value="Male">Male&nbsp;&nbsp;
            <input type=radio name='gen' value='Female'>Female
          </td>
        </tr>
        <tr>
          <td><b>DOB:</b></td>
          <td><input type=date name='dob' size=30></td>
        </tr>
        <tr>
          <td><b>Amount Due:</b></td>
          <td><input type='text' name='amtd' size=30></td>
        </tr>
        <tr>
          <td><b>Amount Paid:</b></td>
          <td><input type='text' name='amtp' size=30></td>
        </tr>
        <tr>
          <td><b>City:</b></td>
          <td><input type='text' name='city' size=30></td>
        </tr>
        <tr>
          <td><b>Photo:</b></td>
          <td>
            <input type='file' name='photo'>
          </td>
        </tr>
        <tr>
          <td><input type=submit></td>
          <td><input type=reset></td>
        </tr>
      </table>
    </center>
  </form>
</html>

Let's look how the form looks like:

PHP - Insert record in MySQL - HTML form

Create a PHP file to write PHP code

Now make a file named "supplierSubmit.php" and add the following code in it.

PHP code to insert data into MySQL Table

<html>
	<?php
		$dsn="mysql:host=localhost;dbname=hpindia";
		$cn=new PDO($dsn,'root','123');
		$sid=$_POST['sid'];
		$sn=$_POST['sn'];
		$fn=$_POST['fn'];
		$gender=$_POST['gen'];
		$dob=$_POST['dob'];
		$amtd=$_POST['amtd'];
		$amtp=$_POST['amtp'];
		$city=$_POST['city'];
		$pic=$sid.".jpg";
		//$photo=$_Files['photo']['name'];

		$q="insert into supplier values($sid,'$sn','$fn','$gender','$dob',$amtd,$amtp,'$city','$pic')";
		$smt=$cn->prepare($q);
		$result=$smt->execute();
		if($result){
			move_uploaded_file($_FILES['photo']['tmp_name'],"images/$pic");
			echo "<font color='green' size=5>Record Submitted</font>";
		}
		else{
			echo "<font color='red' size=5>Fail to Submit Record</font>";
		}

		$nq="select * from supplier";
		$res=$cn->query($nq);

		if($res){
	?>

	<center>
	<table border=1>
		<caption>
			<b><i>List of Suppliers</i></b>
		</caption>
	<tr>
		<th>Supplier Id</th>
		<th>Name</th>
		<th>Firmname</th>
		<th>Gender</th>
		<th>DOB</th>
		<th>Amount Due</th>
		<th>Amount Paid</th>
		<th>City</th>
		<th>Photo</th>
		<th>Update</th>
	</tr>
	<?php
			while($row=$res->fetch()){
				echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]</td><td>$row[4]</td><td>$row[5]</td><td>$row[6]</td><td>$row[7]</td><td><img src='images/$row[8]' width=50 height=50></td><td><a href='displayById?sid=$row[0]'>Edit</a></td></tr>";
			}
		}
		else {
			echo "<font color='red' size=5>Record Not Found";
		}
		?>
	</table>
	</center>
</html>

This function is used to upload the files. Remember database will only hold the name of the image file and not the file to save the image a particular place we need make a folder named "images" inside your PHP workspace.

<?php
move_uploaded_file($_FILES['photo']['tmp_name'],"images/$pic");
?>

It is a predefined function, it takes two parameters.

$_FILES['photo']['tmp_name'] → this takes the picture and stores it in a temporary folder name tmp_name.

Second parameter has a folder named images and name of the picture in variable $pic, this transfers the picture from the temporary folder to the images folder with name as stored in $pic variable.

As the user hit's the submit button the details should be added to the database and the image must be added to images folder that u created earlier.

Note: In order to send a picture or file we always keep the request POST and enctype as multipart/form-data as we are sending picture as well as the form data with it.

PHP Database Programs »





Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.