Привет! В этой статье блога мы рассмотрим различные методы вставки данных в базу данных MySQL с помощью PHP. Я объясню каждый метод простыми словами и предоставлю вам практические примеры кода. Итак, начнем!
Метод 1: использование функции mysqli_query()
<?php
$conn = mysqli_connect("localhost", "username", "password", "database");
$name = "John";
$email = "john@example.com";
$query = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
$result = mysqli_query($conn, $query);
if ($result) {
echo "Data inserted successfully using mysqli_query()!";
} else {
echo "Error: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
Метод 2. Использование подготовленных операторов
<?php
$conn = mysqli_connect("localhost", "username", "password", "database");
$name = "John";
$email = "john@example.com";
$query = "INSERT INTO users (name, email) VALUES (?, ?)";
$stmt = mysqli_prepare($conn, $query);
mysqli_stmt_bind_param($stmt, "ss", $name, $email);
$result = mysqli_stmt_execute($stmt);
if ($result) {
echo "Data inserted successfully using prepared statements!";
} else {
echo "Error: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
Метод 3: использование PDO (объекты данных PHP)
<?php
$dsn = "mysql:host=localhost;dbname=database";
$username = "username";
$password = "password";
$name = "John";
$email = "john@example.com";
try {
$conn = new PDO($dsn, $username, $password);
$query = "INSERT INTO users (name, email) VALUES (:name, :email)";
$stmt = $conn->prepare($query);
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
$result = $stmt->execute();
if ($result) {
echo "Data inserted successfully using PDO!";
} else {
echo "Error: " . $stmt->errorInfo()[2];
}
$conn = null;
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
?>
Метод 4. Использование объектно-ориентированного подхода (mysqli)
<?php
$conn = new mysqli("localhost", "username", "password", "database");
$name = "John";
$email = "john@example.com";
$query = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
$result = $conn->query($query);
if ($result) {
echo "Data inserted successfully using object-oriented approach (mysqli)!";
} else {
echo "Error: " . $conn->error;
}
$conn->close();
?>
Метод 5. Использование объектно-ориентированного подхода (PDO)
<?php
$dsn = "mysql:host=localhost;dbname=database";
$username = "username";
$password = "password";
$name = "John";
$email = "john@example.com";
try {
$conn = new PDO($dsn, $username, $password);
$query = "INSERT INTO users (name, email) VALUES (:name, :email)";
$stmt = $conn->prepare($query);
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
$result = $stmt->execute();
if ($result) {
echo "Data inserted successfully using object-oriented approach (PDO)!";
} else {
echo "Error: " . $stmt->errorInfo()[2];
}
$conn = null;
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
?>
Метод 6. Использование процедурного подхода MySQLi
<?php
$conn = mysqli_connect("localhost", "username", "password", "database");
$name = "John";
$email = "john@example.com";
$query = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
$result = mysqli_query($conn, $query);
if ($result) {
echo "Data inserted successfully using MySQLi procedural approach!";
} else {
echo "Error: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
Метод 7. Использование объектно-ориентированного подхода MySQLi
<?php
$conn = new mysqli("localhost", "username", "password", "database");
$name = "John";
$email = "john@example.com";
$query = "INSERT INTO users (name, email) VALUES ('$name', '$emailMethod 7: Using the MySQLi object-oriented approach
```php
<?php
$conn = new mysqli("localhost", "username", "password", "database");
$name = "John";
$email = "john@example.com";
$query = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
$result = $conn->query($query);
if ($result) {
echo "Data inserted successfully using MySQLi object-oriented approach!";
} else {
echo "Error: " . $conn->error;
}
$conn->close();
?>
Метод 8. Использование транзакции PDO
<?php
$dsn = "mysql:host=localhost;dbname=database";
$username = "username";
$password = "password";
$name = "John";
$email = "john@example.com";
try {
$conn = new PDO($dsn, $username, $password);
$conn->beginTransaction();
$query = "INSERT INTO users (name, email) VALUES (:name, :email)";
$stmt = $conn->prepare($query);
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
$result = $stmt->execute();
if ($result) {
$conn->commit();
echo "Data inserted successfully using PDO transaction!";
} else {
$conn->rollBack();
echo "Error: " . $stmt->errorInfo()[2];
}
$conn = null;
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
?>
Метод 9. Использование библиотеки ORM (объектно-реляционного сопоставления), например Doctrine
<?php
require_once "vendor/autoload.php";
use Doctrine\DBAL\Configuration;
use Doctrine\DBAL\DriverManager;
$config = new Configuration();
$connectionParams = array(
'dbname' => 'database',
'user' => 'username',
'password' => 'password',
'host' => 'localhost',
'driver' => 'pdo_mysql',
);
$name = "John";
$email = "john@example.com";
try {
$conn = DriverManager::getConnection($connectionParams, $config);
$data = [
'name' => $name,
'email' => $email,
];
$result = $conn->insert('users', $data);
if ($result) {
echo "Data inserted successfully using Doctrine ORM!";
} else {
echo "Error: Failed to insert data using Doctrine ORM!";
}
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
}
?>
Метод 10. Использование построителя запросов, например Eloquent ORM от Laravel
<?php
require_once "vendor/autoload.php";
use Illuminate\Database\Capsule\Manager as Capsule;
$capsule = new Capsule;
$capsule->addConnection([
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'database',
'username' => 'username',
'password' => 'password',
]);
$capsule->setAsGlobal();
$capsule->bootEloquent();
$name = "John";
$email = "john@example.com";
$user = new User;
$user->name = $name;
$user->email = $email;
$result = $user->save();
if ($result) {
echo "Data inserted successfully using Laravel's Eloquent ORM!";
} else {
echo "Error: Failed to insert data using Laravel's Eloquent ORM!";
}
?>
И вот оно! Это десять мощных методов вставки данных в базу данных MySQL с использованием PHP. Смело выбирайте тот метод, который лучше всего соответствует вашим потребностям. Приятного кодирования!