PHP — широко используемый язык программирования для веб-разработки, а подключение к базам данных — важный аспект создания динамических веб-приложений. В этой статье мы рассмотрим различные методы установления соединений с базой данных в PHP. Каждый метод будет сопровождаться примером кода, который поможет вам понять их реализацию. Давайте погрузимся!
-
Использование расширения MySQLi:
<?php $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully"; $conn->close(); ?> -
PDO (объекты данных PHP):
<?php $dsn = "mysql:host=$servername;dbname=$dbname"; try { $conn = new PDO($dsn, $username, $password); echo "Connected successfully"; } catch (PDOException $e) { echo "Connection failed: " . $e->getMessage(); } $conn = null; ?> -
Использование функции mysqli_connect:
<?php $conn = mysqli_connect($servername, $username, $password, $dbname); if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "Connected successfully"; mysqli_close($conn); ?> -
Процедурный стиль MySQLi:
<?php $conn = mysqli_connect($servername, $username, $password, $dbname); if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "Connected successfully"; mysqli_close($conn); ?> -
Использование PDO с подготовленными операторами:
<?php $dsn = "mysql:host=$servername;dbname=$dbname"; try { $conn = new PDO($dsn, $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $conn->prepare("SELECT * FROM users WHERE id = :id"); $stmt->bindParam(':id', $id); $stmt->execute(); $result = $stmt->fetchAll(); // Process the result foreach ($result as $row) { // ... }
} catch (PDOException $e) {
echo “Ошибка соединения: “. $e->getMessage();
}
$conn = null;
?>
6. Using MySQLi object-oriented style:
```php
<?php
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
$conn->close();
?>
-
Использование встроенных функций PHP для MySQL:
<?php $conn = mysql_connect($servername, $username, $password); if (!$conn) { die("Connection failed: " . mysql_error()); } echo "Connected successfully"; mysql_close($conn); ?> -
Использование объектов данных PHP (PDO) с подготовленными операторами:
<?php $dsn = "mysql:host=$servername;dbname=$dbname"; try { $conn = new PDO($dsn, $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $conn->prepare("SELECT * FROM users WHERE id = ?"); $stmt->execute([$id]); $result = $stmt->fetchAll(); // Process the result foreach ($result as $row) { // ... }
} catch (PDOException $e) {
echo “Ошибка соединения: “. $e->getMessage();
}
$conn = null;
?>
9. Using MySQLi with object-oriented prepared statements:
```php
<?php
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$stmt = $conn->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();
// Process the result
while ($row = $result->fetch_assoc()) {
// ...
}
$stmt->close();
$conn->close();
?>
-
Использование расширения PHP PDO с именованными заполнителями:
<?php $dsn = "mysql:host=$servername;dbname=$dbname"; try { $conn = new PDO($dsn, $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $conn->prepare("SELECT * FROM users WHERE id = :id"); $stmt->execute(['id' => $id]); $result = $stmt->fetchAll(); // Process the result foreach ($result as $row) { // ... }