One should take care when checking the return value.
0 == false which is not equal with failed delete.
if(!$res)
echo "Nothing was deleted";
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
pg_delete — Usuwa rekordy
$identyfikator_połączenia
, string $nazwa_tabeli
, array $tablica_asocjacyjna
[, int $opcje
= PGSQL_DML_EXEC
] ) : mixed
pg_delete() usuwa wiersze z tabeli określonej przez
klucze i wartości w parametrze tablica_asocjacyjna
. Jeśli opcje
zostały
określone, to funkcja pg_convert() stosuje
do parametru tablica_asocjacyjna
podane opcje.
identyfikator_połączenia
Identyfikator połączenia do bazy PostgreSQL.
nazwa_tabeli
Nazwa tabeli, z której będą usuwane wiersze.
tablica_asocjacyjna
Tablica (ang. array), której klucze są nazwami pól w określonej parametrem nazwa_tabeli
tabeli,
oraz której wartościami, są wartości tych pól, które mają zostać usunięte.
opcje
Dowolna kombinacja, dowolnej ilości parametrów: PGSQL_CONV_FORCE_NULL
,
PGSQL_DML_NO_CONV
,
PGSQL_DML_ESCAPE
,
PGSQL_DML_EXEC
,
PGSQL_DML_ASYNC
lub
PGSQL_DML_STRING
. Jeśli PGSQL_DML_STRING
jest jedną z podanych w parametrze
opcje
opcji, zostanie zwrócony łańcuch zapytania z URL (ang. query string). Kiedy ustawione jest
PGSQL_DML_NO_CONV
lub PGSQL_DML_ESCAPE
, funkcja nie wykonuje pg_convert()
wewnętrznie.
Zwraca TRUE
w przypadku powodzenia, FALSE
w
przypadku błędu. Zwraca łańcuch (ang. string) gdy podano PGSQL_DML_STRING
poprzez opcje
.
Przykład #1 pg_delete() - przykład
<?php
$polaczenie_do_bazy = pg_connect ('dbname=foo');
// To jest bezpieczne, odkąd $_POST jest konwertowane automatycznie
$res = pg_delete($polaczenie_do_bazy, 'kopia_post', $_POST);
if ($res) {
echo "Dane określone przez POST zostały usunięte: $res\n";
} else {
echo "Użytkownik wprowadził błędne dane\n";
}
?>
Wersja | Opis |
---|---|
5.6.0 |
Funkcja nie jest dłużej eksperymentalna. Dodano stałą PGSQL_DML_ESCAPE oraz
wsparcie typów danych TRUE /FALSE i NULL .
|
5.5.3/5.4.19 |
Bezpośredni atak SQL injection na parametr nazwa_tabeli i pośredni
na identyfikatory został uniemożliwiony.
|