Sunday, August 17, 2008

PHP MySQL Insert Into

Insert Data Into a Database Table

The INSERT INTO statement is used to add new records to a database table.

Syntax
INSERT INTO table_name
VALUES (value1, value2,....)


You can also specify the columns where you want to insert the data:



INSERT INTO table_name (column1, column2,...)
VALUES (value1, value2,....)


Note: SQL statements are not case sensitive. INSERT INTO is the same as insert into.



To get PHP to execute the statements above we must use the mysql_query() function. This function is used to send a query or command to a MySQL connection.



Example


In the previous chapter we created a table named "Person", with three columns; "Firstname", "Lastname" and "Age". We will use the same table in this example. The following example adds two new records to the "Person" table:



<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}


mysql_select_db("my_db", $con);


mysql_query("INSERT INTO person (FirstName, LastName, Age) 
VALUES ('Peter', 'Griffin', '35')");


mysql_query("INSERT INTO person (FirstName, LastName, Age) 
VALUES ('Glenn', 'Quagmire', '33')");


mysql_close($con);
?>





Insert Data From a Form Into a Database



Now we will create an HTML form that can be used to add new records to the "Person" table.



Here is the HTML form:



<html>
<body>


<form action="insert.php" method="post">
Firstname: <input type="text" name="firstname" />
Lastname: <input type="text" name="lastname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>


</body>
</html>


When a user clicks the submit button in the HTML form in the example above, the form data is sent to "insert.php". The "insert.php" file connects to a database, and retrieves the values from the form with the PHP $_POST variables. Then, the mysql_query() function executes the INSERT INTO statement, and a new record will be added to the database table.



Below is the code in the "insert.php" page:



<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}


mysql_select_db("my_db", $con);


$sql="INSERT INTO person (FirstName, LastName, Age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";


if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";


mysql_close($con)
?>

No comments: