pg_delete

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

pg_delete Usuwa rekordy

Opis

pg_delete ( resource $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.

Parametry

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.

Zwracane wartości

Zwraca TRUE w przypadku powodzenia, FALSE w przypadku błędu. Zwraca łańcuch (ang. string) gdy podano PGSQL_DML_STRING poprzez opcje.

Przykłady

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";
  }
?>

Rejestr zmian

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.

Zobacz też:

  • pg_convert() - Konwertuje tablice asocjacyjne na postać użyteczną w zapytaniu SQL.

add a note add a note

User Contributed Notes 1 note

up
2
Anonymous
16 years ago
One should take care when checking the return value.
0 == false which is not equal with failed delete.

if(!$res)
  echo "Nothing was deleted";
To Top