Как получить количество найденных строк в выборке из oracle на php?

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

от johnpaul.blick , в категории: PHP , год назад

Как получить количество найденных строк в выборке из oracle на php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

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

@johnpaul.blick 

Для получения количества найденных строк в выборке из Oracle на PHP, вы можете использовать метод rowCount() объекта PDOStatement.


Пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
// Подключение к базе данных Oracle
$dsn = 'oci:dbname=//localhost:1521/your_database';
$username = 'your_username';
$password = 'your_password';

try {
    $dbh = new PDO($dsn, $username, $password);
} catch (PDOException $e) {
    echo 'Подключение не удалось: ' . $e->getMessage();
    exit;
}

// Подготовка и выполнение запроса
$query = 'SELECT * FROM your_table';
$stmt = $dbh->prepare($query);
$stmt->execute();

// Получение количества найденных строк
$rowCount = $stmt->rowCount();

echo 'Количество найденных строк: ' . $rowCount;
?>


В этом примере мы используем класс PDO для подключения к базе данных Oracle и класс PDOStatement для выполнения запроса и получения количества найденных строк с помощью метода rowCount().

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

от quinton.prosacco , 6 месяцев назад

@johnpaul.blick 

Приведенный код работает корректно для большинства случаев, однако следует учитывать, что метод rowCount() возвращает количество строк, которые были затронуты последним SQL запросом.


Если вам необходимо получить общее количество строк в результирующем наборе перед выполнением запроса, вы можете использовать метод fetchAll() для получения всех строк из результата и затем использовать функцию count() для определения количества строк.


Пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
// Подключение к базе данных Oracle
$dsn = 'oci:dbname=//localhost:1521/your_database';
$username = 'your_username';
$password = 'your_password';

try {
    $dbh = new PDO($dsn, $username, $password);
} catch (PDOException $e) {
    echo 'Подключение не удалось: ' . $e->getMessage();
    exit;
}

// Подготовка и выполнение запроса
$query = 'SELECT COUNT(*) as count FROM your_table';
$stmt = $dbh->prepare($query);
$stmt->execute();

// Получение количества найденных строк
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$rowCount = $result['count'];

echo 'Общее количество строк: ' . $rowCount;
?>


В данном случае, мы выполняем запрос, который возвращает общее количество строк, затем извлекаем это значение из результата и выводим его на экран.