CascadiaPHP 2024

oci_num_rows

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_num_rowsDevuelve el número de filas afectadas durante la ejecución de una sentencia

Descripción

oci_num_rows(resource $statement): int

Obtiene el número de filas afectadas durante la ejecución de una sentencia.

Parámetros

statement

Un identificador de sentencia de OCI válido.

Valores devueltos

Devuelve el número de filas afectadas como un entero, o false en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de oci_num_rows()

<?php

$conn
= oci_connect("hr", "hrpwd", "localhost/XE");
if (!
$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "create table emp2 as select * from employees");
oci_execute($stid);
echo
oci_num_rows($stid) . " rows inserted.<br />\n";
oci_free_statement($stid);

$stid = oci_parse($conn, "delete from emp2");
oci_execute($stid, OCI_DEFAULT);
echo
oci_num_rows($stid) . " rows deleted.<br />\n";
oci_commit($conn);
oci_free_statement($stid);

$stid = oci_parse($conn, "drop table emp2");
oci_execute($stid);
oci_free_statement($stid);

oci_close($conn);

?>

Notas

Nota:

Esta función no devuelve el número de filas seleccionadas. Para sentencias SELECT, esta función devolverá el número de filas que fueron obtenidas desde el búfer con funciones de tipo oci_fetch*().

Nota:

En versiones de PHP anteriores a la 5.0.0 se debe usar ocirowcount() en su lugar. Este nombre aún puede usarse; se dejó como alias de oci_num_rows() por razones de retrocompatibilidad. Sin embargo, este nombre es obsoleto y no se recomienda.

add a note

User Contributed Notes 2 notes

up
0
vihanga dot kule99 at gmail dot com
1 year ago
The `oci_num_rows()` function is used to retrieve the number of rows affected or returned by a query executed with Oracle Database using the OCI8 extension. Here's an explanation of how `oci_num_rows()` works:

1. Syntax:
php
oci_num_rows($statement);

2. Parameters:
$statement: This parameter represents the Oracle statement handle returned by `oci_parse()` and executed using `oci_execute()`. It refers to the executed query or statement for which you want to get the number of rows.

3. Return Value:
The `oci_num_rows()` function returns the number of rows affected or returned by the executed query. It returns an integer value representing the count of rows.

4. Usage:
After executing a query with `oci_execute()`, you can use `oci_num_rows()` to determine the number of rows affected or returned by the query.
- It is commonly used in scenarios where you need to know the count of rows for result sets or the count of affected rows after an INSERT, UPDATE, or DELETE operation.

example that demonstrates the usage of `oci_num_rows()`:

php
$sql = "SELECT * FROM employees";
$statement = oci_parse($connection, $sql);
oci_execute($statement);

// Get the number of rows returned by the query
$numRows = oci_num_rows($statement);
echo "Number of rows: " . $numRows;

this example, we execute a SELECT query to fetch records from the "employees" table. After executing the query with `oci_execute()`, we use `oci_num_rows()` to retrieve the number of rows returned by the query and store it in the `$numRows` variable. Finally, we echo the count of rows.
up
0
pluueer at hotmail dot com
14 years ago
If you want to return te number of rows without fetching all data it might by more efficient to use this code (correct me if I'm wrong):

$sql_query = 'SELECT COUNT(*) AS NUMBER_OF_ROWS FROM (' . $your_query . ')';

$stmt= oci_parse($conn, $sql_query);

oci_define_by_name($stmt, 'NUMBER_OF_ROWS', $number_of_rows);

oci_execute($stmt);

oci_fetch($stmt);

echo $number_of_rows;
To Top