Insert Data Into MySQL Using MySQLi and PDO #
MySQLi ба PDO ашиглан MySQL-д өгөгдөл оруулах #
After a database and a table have been created, we can start adding data in them.
Мэдээллийн сан, хүснэгтийг үүсгэсний дараа тэдгээрт өгөгдөл нэмж эхлэх боломжтой.
Here are some syntax rules to follow:
Энд дагаж мөрдөх зарим синтаксийн дүрмүүд байна:
- The SQL query must be quoted in PHP
SQL асуулга нь PHP дээр иш татагдсан байх ёстой
- String values inside the SQL query must be quoted
SQL асуулга доторх мөрийн утгыг иш татсан байх ёстой
- Numeric values must not be quoted
Тоон утгыг иш татах ёсгүй
- The word NULL must not be quoted
NULL гэсэн үгийг иш татах ёсгүй
The INSERT INTO statement is used to add new records to a MySQL table:
INSERT INTO мэдэгдэл нь MySQL хүснэгтэд шинэ бичлэг нэмэхэд ашиглагддаг.
INSERT INTO table_name (column1, column2, column3,…)
INSERT INTO table_name (багана1, багана2, багана3, …)
VALUES (value1, value2, value3,…)
ҮНЭЛГЭЭ (утга1, утга2, утга3, …)
To learn more about SQL, please visit our SQL tutorial.
SQL-ийн талаар илүү ихийг мэдэхийг хүсвэл манай SQL заавраар зочилно уу.
In the previous chapter we created an empty table named “MyGuests” with five columns: “id”, “firstname”, “lastname”, “email” and “reg_date”. Now, let us fill the table with data.
Өмнөх бүлэгт бид “MyGuests” гэсэн хоосон хүснэгтийг “id”, “firstname”, “lastname”, “email”, “reg_date” гэсэн таван баганаар бүтээсэн. Одоо хүснэгтийг өгөгдлөөр дүүргэе.
Note: If a column is AUTO_INCREMENT (like the “id” column) or TIMESTAMP with default update of current_timesamp (like the “reg_date” column), it is no need to be specified in the SQL query; MySQL will automatically add the value.
Тэмдэглэл: Хэрэв багана нь AUTO_INCREMENT (“id” багана гэх мэт) эсвэл current_timesamp-ийн анхдагч шинэчлэлттэй TIMESTAMP (“reg_date” багана гэх мэт) бол SQL асуулгад зааж өгөх шаардлагагүй болно; MySQL нь утгыг автоматаар нэмэх болно.
The following examples add a new record to the “MyGuests” table:
Дараах жишээнүүд нь “MyGuests” хүснэгтэд шинэ бичлэг нэмж оруулав:
Example (MySQLi Object-oriented) #
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
Example (MySQLi Procedural) #
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
Example (PDO) #
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
// use exec() because no results are returned
$conn->exec($sql);
echo "New record created successfully";
} catch(PDOException $e) {
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>