نحوه نوشتن دستور insert into
میتوان دستور insert into را به دو صورت نوشت.
روش اول :
در این روش نمیتوان نام یک ستون خاص که درآن اطلاعات مورد نظر نوشته شده را به جدول پایگاه داده اضافه کرد ، تنها میتوان مقادیر و ارزش های داده های مورد نظر را به صورت تک تک وارد نمود.
INSERT INTO table_name
VALUES(value1،value2،value3،...)
روش دوم :
در این روش میتوان نام ستون ها و ارزش هر بخش را وارد نمود
INSERT INTO table_name(column1،column2،column3،...)
VALUES(value1،value2،value3،...)
همانند تمام بخش های پایگاه داده ، از تابع ()mysqli_query برای اجرا شدن PHP استفاده میکنیم. این تابع query یا کامنت ها به پایگاه داده ارسال میکند.
در درس قبل یک جدول به نام “Persons” با سه ستون “نام” ، “نام خانوادگی” و “سن” ایجاد کردیم. در این درس از همان جدول استفاده میکنیم و میخواهیم دو رکورد جدید به آن اضافه کنیم.
<?php
$con=mysqli_connect("example.com"،"peter"،"abc123"،"my_db");
// Check connection
if(mysqli_connect_errno())
{
echo"Failed to connect to MySQL : ".mysqli_connect_error();
}
mysqli_query($con،"INSERT INTO Persons (FirstName، LastName، Age)
VALUES ('Peter'، 'Griffin'،35)");
mysqli_query($con،"INSERT INTO Persons (FirstName، LastName، Age)
VALUES ('Glenn'، 'Quagmire'،33)");
mysqli_close($con);
?>
همان طور که در مثال مشاهده می کنید ، اطلاعات دو نفر به نام های Peter و Glenn اضافه نمودیم. در این مثال از روش اول وارد کردن اطلاعات استفاده کرده و تمام اطلاعات را به صورت دستی وارد نموده ایم.
حال میخواهیم از روش دوم برای وارد کردن اطلاعات در جدول پایگاه داده استفاده کنیم. برای این کار نیازمند داشتن ستون و اطلاعات درون ان هستیم. به همین دلیل یک فرم HTML همانند فرم هایی که در مباحث فرم ایجاد کرده بودیم ، میسازیم.
فرم HTML :
<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>
در مثال زیر هنگامی که کابر دکمه ارسال را میزند اطلاعات درون فرم به بخش insert.php فرستاده میشود ، سپس به پایگاه داده ارتباط پیدا میکند و ارزش ها را که در متغیر post-$ نوشته شده است را بررسی میکند.
تابع ()mysqli_query هر آنچه که در دستور insert into نوشته میشود را اجرا کرده و رکورد های جدید را به جدول “Persons” اضافه میکند.
<?php
$con=mysqli_connect("example.com"،"peter"،"abc123"،"my_db");
// Check connection
if(mysqli_connect_errno())
{
echo"Failed to connect to MySQL : ".mysqli_connect_error();
}
$sql="INSERT INTO Persons (FirstName، LastName، Age)
VALUES
('$_POST[firstname]'،'$_POST[lastname]'،'$_POST[age]')";
if(!mysqli_query($con،$sql))
{
die('Error : '.mysqli_error($con));
}
echo"1 record added";
mysqli_close($con);
?>