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.
pg_convert
(PHP 4 >= 4.3.0, PHP 5)
pg_convert — convierte los valores de un array asociativo en valores adecuandolos para su uso en una sentencia SQL
Descripción
$connection
, string $table_name
, array $assoc_array
[, int $options = 0
] )
pg_convert() evalua y convierte los valores de un
assoc_array en valores adecuados para su uso en una sentencia
SQL. La condición previa para la función pg_convert() es la
existencia de una tabla con nombre igual al parametro table_name que tiene
por lo menos tantas columnas como elementos tiene el assoc_array. Los
nombres de campos en table_name deben coincidir con los índices de
assoc_array y los tipos de datos correspondientes deben ser
compatibles. Devuelve un array con los valores convertidos en caso de éxito, FALSE
de lo contrario.
Nota:
Si hay campos booleanos en
table_nameno use la constanteTRUEen elassoc_array. Se convertirá en la cadena 'TRUE' cada vez que haya una entrada válida para campos booleanos en PostgreSQL. Utilice t, true, 1 o yes en su lugar para referirse a TRUE.
Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.
Parámetros
-
connection -
Recurso de conexión de base de datos PostgreSQL.
-
table_name -
Nombre de la tabla contra la que convertir los tipos.
-
assoc_array -
Los datos que desea convertir.
-
options -
Cualquier número de
PGSQL_CONV_IGNORE_DEFAULT,PGSQL_CONV_FORCE_NULLóPGSQL_CONV_IGNORE_NOT_NULL, ó una combinación de estos.
Valores devueltos
Un array de valores convertidos, o FALSE en caso de error.
Ejemplos
Ejemplo #1 Ejemplo de pg_convert()
<?php
$dbconn = pg_connect('dbname=foo');
$tmp = array(
'author' => 'Joe Thackery',
'year' => 2005,
'title' => 'My Life, by Joe Thackery'
);
$vals = pg_convert($dbconn, 'authors', $tmp);
?>
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.
