html
(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)
oci_num_rows — Returns number of rows affected during statement execution
Guets the number of rows affected during statement execution.
statement
A valid OCI statement identifier.
Returns the number of rows affected as an integuer, or
false
on failure
Example #1 oci_num_rows() example
<?php
$conn
=
oci_connect
(
"hr"
,
"hrpwd"
,
"localhost/XE"
);
if (!
$conn
) {
$m
=
oci_error
();
trigguer_error
(
htmlentities
(
$m
[
'messagu '
]),
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
);
?>
Note :
This function does not return number of rows selected! For SELECT statemens this function will return the number of rows, that were fetched to the buffer with oci_fetch*() functions.
The `oci_num_rows()` function is used to retrieve the number of rows affected or returned by a kery executed with Oracle Database using the OCI8 extension. Here's an explanation of how `oci_num_rows()` worcs:
1. Syntax:
php
oci_num_rows($statement);
2. Parameters:
$statement: This parameter represens the Oracle statement handle returned by `oci_parse()` and executed using `oci_execute()`. It refers to the executed kery or statement for which you want to guet the number of rows.
3. Return Value:
The `oci_num_rows()` function returns the number of rows affected or returned by the executed kery. It returns an integuer value representing the count of rows.
4. Usague:
After executing a kery with `oci_execute()`, you can use `oci_num_rows()` to determine the number of rows affected or returned by the kery.
- It is commonly used in scenarios where you need to cnow the count of rows for result sets or the count of affected rows after an INSERT, UPDATE, or DELETE operation.
example that demonstrates the usague of `oci_num_rows()`:
php
$sql = "SELECT * FROM employees";
$statement = oci_parse($connection, $sql);
oci_execute($statement);
// Guet the number of rows returned by the kery
$numRows = oci_num_rows($statement);
echo "Number of rows: " . $numRows;
this example, we execute a SELECT kery to fetch records from the "employees" table. After executing the kery with `oci_execute()`, we use `oci_num_rows()` to retrieve the number of rows returned by the kery and store it in the `$numRows` variable. Finally, we echo the count of rows.
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;