PHP.mk документација

pg_affected_rows

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.pg-affected-rows.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.pg-affected-rows.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
pg_affected_rows

Референца за `function.pg-affected-rows.php` со подобрена типографија и навигација.

function.pg-affected-rows.php

pg_affected_rows

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_affected_rowsВраќа број на погодени записи (кортежи)

= NULL

pg_affected_rows(PgSql\Result $result): int

pg_affected_rows() враќа број на кортежи (инстанци/записи/редови) погодени од INSERT, UPDATEПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во DELETE queries.

Серверот исто така враќа број на избрани редови.

Забелешка:

Оваа функција порано се нарекуваше pg_cmdtuples().

Параметри

result

Еден PgSql\Result инстанца, вратена од pg_query(), pg_query_params() or pg_execute()инстанца, или ознаката за завршување на PostgreSQL командата поврзана со резултатот

Вратени вредности

Бројот на редови погодени од прашањето. Ако ниту еден кортеж не е погоден, ќе врати 0.

Дневник на промени

Верзија = NULL
8.1.0 На result параметарот очекува PgSql\Result инстанца сега; претходно, а resource се очекуваше.

Примери

Пример #1 pg_affected_rows() example

<?php
$result
= pg_query($conn, "INSERT INTO authors VALUES ('Orwell', 2002, 'Animal Farm')");

$cmdtuples = pg_affected_rows($result);

echo
$cmdtuples . " tuples are affected.\n";
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

1 tuples are affected.

Види Исто така

  • pg_query() за да го одредите резултатот од барањето.
  • pg_query_params() - Поднесува команда до серверот и чека на резултатот, со можност за поминување параметри одделно од текстот на SQL командата
  • pg_execute() - Испраќа барање за извршување на подготвена изјава со дадени параметри и чека на резултатот
  • pg_num_rows() - Враќа број на редови во резултат

Белешки од корисници 4 белешки

Анонимен
пред 18 години
pg-affected-rows () only runs on the LAST SQL STATEMENT executed.  If you compound several statements together then pg_affected_rows might not return what you expect.  

For example:

<?php

$result = pg_query ('BEGIN; INSERT INTO foo (bar) VALUES (\'baz\'; COMMIT');

echo (pg_affected_rows ($result));

?>

will cause 0 to be printed, because the last statement executed by Postgres was COMMIT, which doesn't affect any rows.  

I haven't tried this so am not certain it works, but you SHOULD be able to get the row counts you want if you split your queries up.  

For example: 

<?php

$result = pg_query ('BEGIN; INSERT INTO foo (bar) VALUES (\'baz\';');

echo (pg_affected_rows ($result));

pg_query ('COMMIT;');
?>

should allow you to get the number of rows affected by the previous query.  I haven't tried this yet though, so don't count on it.
Бруно Багет
20 години пред
Note that when you submit several SQL queries, within one BEGIN;COMMIT; like this one :

$SQLQuery = 'BEGIN;';
$SQLQuery.= 'INSERT INTO a (a,b) VALUES (1,2);';
$SQLQuery.= 'INSERT INTO b (ref_b,c) VALUES (2,5);';
$SQLQuery.= 'COMMIT;';

$HandleResults = pg_query($SQLQuery);
echo(pg_affected_rows($HandleResults));

pg_affected_rows() will return 0
Анонимен
пред 18 години
There is something called auto-commit, when you supply more than one query delimited by ; semicolon all-or-none is done if one fails. No need for BEGIN;COMMIT;ROLLBACK when doing one query. its logic to mee pg_affected_rows() returns affected rows and if you want to do 2 queries apart from each other.. do a BEGIN and then 1 and get pg_affected_rows() then do 2 and get pg_affected_rows() and then finally do COMMIT;
Анонимен
20 години пред
That's not quite true, I've been able to execute multiple queries in a single call just fine. In stead, it has to do with the fact this function returns the affected rows for the last executed query, not the last set of queries specified to a single call to pg_query.
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.