(PHP 4 >= 4.3.0, PHP 5)
pg_convert — Konvertiert die Werte eines assoziativen Arrays in passende Werte für SQL-Kommandos.
pg_convert() prüft und konvertiert die Werte in assoc_array in passende Werte für ein SQL-Kommando. Voraussetzung für pg_convert() ist die Existenz einer Tabelle table_name, die mindestens so viele Spalten hat, wie assoc_array Elemente. Die Feldnamen in table_name müssen mit den Schlüsseln von assoc_array übereinstimmen und die entsprechenden Datentypen müssen kompatibel sein. Zurückgegeben wird bei Erfolg ein Array mit den konvertierten Werten oder FALSE, falls ein Fehler auftrat.
Hinweis:
Falls die Tabelle table_name boolesche Felder enthält, dürfen Sie die Konstante TRUE nicht als Wert im Array assoc_array verwenden. Sie wird zu dem String 'TRUE' konvertiert, der kein gültiger Wert für boolesche Felder in PostgreSQL ist. Benutzen Sie stattdessen t, true, 1, y oder yes.
Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.
PostgreSQL Verbindungskennung.
Name der Tabelle, für die die Arrayelemente konvertiert werden.
Die Daten, die konvertiert werden.
Beliebige Kombination der Konstanten PGSQL_CONV_IGNORE_DEFAULT, PGSQL_CONV_FORCE_NULL oder PGSQL_CONV_IGNORE_NOT_NULL.
Ein array mit den konvertierten Werten oder FALSE, falls ein Fehler auftrat.
Beispiel #1 pg_convert() Beispiel
<?php
$dbconn = pg_connect('dbname=foo');
$tmp = array(
'author' => 'Joe Thackery',
'year' => 2005,
'title' => 'My Life, von Joe Thackery'
);
$vals = pg_convert($dbconn, 'authors', $tmp);
?>
Why does this function, pg_convert(), reject the string 'TRUE' as a valid value for the boolean types? I'm using PHP 4.3.9 and my web page originally set the value for submission to update, to 'TRUE'. pg_convert() threw it back to me saying that it's not a valid value for boolean types. However, the postgresql website says otherwise. See http://www.postgresql.org/docs/7.4/static/datatype-boolean.html for the context of my question/comment.
The only options that I see are:
PGSQL_CONV_IGNORE_DEFAULT - Do not use DEAFULT value by removing field from returned array
PGSQL_CONV_FORCE_NULL - Convert to NULL if string is null string
PGSQL_CONV_IGNORE_NOT_NULL - Ignore NOT NULL constraints
These are constants, so don't quote them or anything.
I've found "options" possible values:
PG_CONV_CHECK - check only
PG_CONV_STRICT - raise warning for non fatal error
PG_CONV_QUOTE - add quote around values for vchar, text datetime.
PG_CONV_SLASH - add slashes if it needed.
PG_CONV_NULLCHK - check values are defined for NOT NULL fields.
PG_CONV_NO_DEFAULT - ignore default value even if value is empty string.