PHP 8.5.0 Alpha 2 available for testing

odbc_pconnect

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_pconnectAbre una conexión persistente a un origen de datos

Descripción

odbc_pconnect(
    string $dsn,
    ?string $user = null,
    ?string $password = null,
    int $cursor_option = SQL_CUR_USE_DRIVER
): Odbc\Connection|false

Abre una conexión persistente a un origen de datos.

odbc_pconnect() se comporta de manera similar a odbc_connect(), pero la conexión abierta no se cierra realmente cuando el script finaliza. Las siguientes solicitudes que se realicen a una conexión cuyos dsn, user, password sean los mismos que esta (con odbc_connect() y odbc_pconnect()) reutilizarán la conexión abierta.

Parámetros

Consulte la función odbc_connect() para más detalles.

Valores devueltos

Devuelve una conexión ODBC, o false si ocurre un error.

Historial de cambios

Versión Descripción
8.4.0 odbc ahora espera una instancia de Odbc\Connection; anteriormente, se esperaba un resource.
8.4.0 Esta función ahora devuelve una instancia de Odbc\Connection; anteriormente, se devolvía un resource.
8.4.0 user y password ahora pueden ser nulos, también son opcionales y valen por omisión null.
8.4.0 Anteriormente, el uso de una cadena vacía para password no incluía pwd en la cadena de conexión generada para dsn. Ahora, pwd se incluye en la cadena de conexión, con un valor de cadena vacía. Para restaurar el comportamiento anterior, password puede ser definido como null.
8.4.0 Anteriormente, si dsn contenía uid o pwd, entonces los parámetros user y password eran ignorados. Ahora, user solo es ignorado si dsn contiene uid, y password solo es ignorado si dsn contiene pwd.

Notas

Nota: Las conexiones persistentes no tienen ningún efecto si PHP se utiliza como CGI.

Ver también

add a note

User Contributed Notes 3 notes

up
2
etsai at email dot com
25 years ago
The following constants are defined for cursortype:
- SQL_CUR_USE_IF_NEEDED
- SQL_CUR_USE_ODBC
- SQL_CUR_USE_DRIVER
- SQL_CUR_DEFAULT

With some ODBC drivers, executing a complex stored procedure may fail with an error similar to: "Cannot open a cursor on a stored procedure that has anything other than a single select statement in it". Using SQL_CUR_USE_ODBC may avoid that error. Also, some drivers don't support the optional row_number parameter in odbc_fetch_row(). SQL_CUR_USE_ODBC might help in that case, too.
up
0
wls at wwco dot com
24 years ago
I found that using odbc_close($odbchandle) on a connection opened by odbc_pconnect() causes a warning "not a valid ODBC-Link resource". So you can't just change odbc_connect() to odbc_pconnect() and expect things to work without warning messages. However, you can use odbc_close_all() and not get a warning.
up
-4
j_schrab at execpc dot com
24 years ago
Ok, learning time. As I was told by the PHP-DevTeam...


Multiple connections are supported, but when you try to connect with exactly the same parameters, an existing
connection will be reused, leading to the behaviour you see.

You can simply omit the calls to odbc_close() since
connections get closed on script termination anyway or better:
Consider making your connection id a global variable or pass
it to your functions.
To Top