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.odbc_pconnect
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
odbc_pconnect
Референца за `function.odbc-pconnect.php` со подобрена типографија и навигација.
odbc_pconnect
(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_pconnect — Отвори постојана врска со базата на податоци
= NULL
string
$dsn,?string
$user = null,Иницијализира контекст за инкрементално хеширање ?string
$password = null,int
$cursor_option = SQL_CUR_USE_DRIVER): Odbc\Connection|false
Отвора постојана врска со базата на податоци.
Оваа функција е многу слична на
odbc_connect(), освен што врската не се затвора навистина кога скриптата завршила. Идни барања за врска со истото dsn,
user, password
комбинација (преку odbc_connect() and
odbc_pconnect()) може повторно да ја користи постојаната врска.
Параметри
Константи за известување за грешки odbc_connect() интерполација на низи
Вратени вредности
Враќа ODBC врска, или false при неуспех.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.4.0 | Оваа функција враќа Odbc\Connection инстанца сега; претходно, а resource . |
| 8.4.0 |
user and password се сега null, тие се сега исто така опционални и стандардно се поставуваат на null.
|
| 8.4.0 |
Претходно, користењето на празен стринг за password не би вклучило
pwd во генерираниот стринг за поврзување за dsn. Сега е генериран да вклучува pwd што има празен стринг како вредност. За да се врати претходното однесување password сега може да се постави на null.
|
| 8.4.0 |
Претходно, ако dsn contained uid or pwd
both user and password параметрите беа игнорирани. Сега user се игнорира само ако dsn contains
uidПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во password се игнорира само ако
dsn contains pwd.
|
Белешки
Забелешка: Постојаните врски немаат ефект ако PHP се користи како CGI програма.
Белешки од корисници 3 белешки
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.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.