10 полезных методов подключения к базе данных в PHP

PHP — широко используемый язык программирования для веб-разработки, а подключение к базам данных — важный аспект создания динамических веб-приложений. В этой статье мы рассмотрим различные методы установления соединений с базой данных в PHP. Каждый метод будет сопровождаться примером кода, который поможет вам понять их реализацию. Давайте погрузимся!

  1. Использование расширения MySQLi:

    <?php
    $conn = new mysqli($servername, $username, $password, $dbname);
    if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
    }
    echo "Connected successfully";
    $conn->close();
    ?>
  2. 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;
    ?>
  3. Использование функции mysqli_connect:

    <?php
    $conn = mysqli_connect($servername, $username, $password, $dbname);
    if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
    }
    echo "Connected successfully";
    mysqli_close($conn);
    ?>
  4. Процедурный стиль MySQLi:

    <?php
    $conn = mysqli_connect($servername, $username, $password, $dbname);
    if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
    }
    echo "Connected successfully";
    mysqli_close($conn);
    ?>
  5. Использование 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();
?>
  1. Использование встроенных функций PHP для MySQL:

    <?php
    $conn = mysql_connect($servername, $username, $password);
    if (!$conn) {
    die("Connection failed: " . mysql_error());
    }
    echo "Connected successfully";
    mysql_close($conn);
    ?>
  2. Использование объектов данных 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();
?>
  1. Использование расширения 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) {
        // ...
    }