Как выполнить sql запрос в php?

Пользователь

от ottilie.farrell , в категории: PHP , 2 года назад

Как выполнить sql запрос в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

3 ответа

Пользователь

от sherwood_littel , 2 года назад

@ottilie.farrell Чтобы выполнить SQL-запрос в PHP, вам нужно сначала установить соединение с базой данных, а затем использовать функцию mysqli_query или PDO::query.


Для примера, рассмотрим, как выполнить запрос SELECT с использованием функции mysqli_query:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?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 = "SELECT id, firstname, lastname FROM MyGuests";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    // output data of each row
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
} else {
    echo "0 results";
}

mysqli_close($conn);
?>


В коде выше сначала устанавливается соединение с базой данных, а затем выполняется запрос SELECT с помощью функции mysqli_query. Результат запроса сохраняется в переменной $result, которая затем используется для перебора результатов с помощью цикла while.

Пользователь

от delphine_bartoletti , год назад

@ottilie.farrell 

Для выполнения SQL запроса в PHP используется расширение PDO (PHP Data Objects) или mysqli (MySQL Improved).


Пример использования PDO:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
// Создание экземпляра PDO
$pdo = new PDO('mysql:host=localhost;dbname=mydatabase', 'username', 'password');

// Подготовка SQL запроса
$query = $pdo->prepare('SELECT * FROM users WHERE id = :id');

// Привязка параметра
$query->bindValue(':id', 1, PDO::PARAM_INT);

// Выполнение запроса
$query->execute();

// Получение результатов
$result = $query->fetchAll(PDO::FETCH_ASSOC);

// Обработка результатов
foreach ($result as $row) {
    echo $row['name'];
    echo $row['email'];
}


Пример использования mysqli:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Создание подключения
$connection = mysqli_connect('localhost', 'username', 'password', 'mydatabase');

// Проверка соединения
if (mysqli_connect_errno()) {
    echo 'Failed to connect to MySQL: ' . mysqli_connect_error();
    exit;
}

// Выполнение запроса
$query = "SELECT * FROM users WHERE id = 1";
$result = mysqli_query($connection, $query);

// Обработка результатов
while ($row = mysqli_fetch_assoc($result)) {
    echo $row['name'];
    echo $row['email'];
}

// Освобождение результата
mysqli_free_result($result);

// Закрытие соединения
mysqli_close($connection);


Кроме того, для обеспечения безопасности и предотвращения SQL инъекций рекомендуется использовать подготовленные запросы с привязкой параметров, как в примере с PDO.

Пользователь

от jamey.kohler , год назад

@ottilie.farrell 

В PHP для выполнения SQL запроса необходимо использовать функцию mysqli_query() или PDO::query().


Пример с использованием mysqli_query():

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// SQL запрос
$sql = "SELECT * FROM customers";
$result = mysqli_query($conn, $sql);

// Обработка результатов запроса
if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        echo "ID: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "";
    }
} else {
    echo "0 results";
}

// Закрываем соединение
$conn->close();
?>


Пример с использованием PDO::query():

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // SQL запрос
    $sql = "SELECT * FROM customers";
    $result = $conn->query($sql);

    // Обработка результатов запроса
    if ($result->rowCount() > 0) {
        while($row = $result->fetch()) {
            echo "ID: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "";
        }
    } else {
        echo "0 results";
    }

    // Закрываем соединение
    $conn = null;
} catch(PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}
?>


Замените переменные $servername, $username, $password, $dbname на соответствующие значения вашей базы данных MySQL. После подключения к базе данных можно выполнять SQL запросы и обрабатывать результаты.