PHP.mk документација

ODBC Функции

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

pdo.connections.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека pdo.connections.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
ODBC Функции

Референца за `pdo.connections.php` со подобрена типографија и навигација.

pdo.connections.php

ODBC Функции

Врските се воспоставуваат со креирање инстанци на основната класа PDO. Не е важно кој драјвер сакате да го користите; секогаш ја користите името на класата PDO. Конструкторот прифаќа параметри за специфицирање на изворот на базата на податоци (познат како DSN) и опционално за корисничкото име и лозинката (ако ги има).

Пример #1 Поврзување со MySQL

<?php
$dbh
= new PDO('mysql:host=localhost;dbname=test', $user, $pass);
?>

Ако има грешки при поврзување, ќе биде фрлен PDOException објект. Може да ја фатите исклучокот ако сакате да ја обработите состојбата на грешката, или може да одлучите да ја оставите за глобален обработувач на исклучоци на апликацијата што сте го поставиле преку set_exception_handler().

Пример #2 Ракување со грешки при поврзување

<?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
} catch (
PDOException $e) {
// attempt to retry the connection after some timeout for example
}
Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Како и секој друг exception, PDOException може да биде фатен експлицитно, преку catch изјава, или имплицитно преку set_exception_handler(). Инаку, стандардното однесување на конвертирање на нефатен исклучок во E_FATAL_ERROR ќе се случи. Фаталната грешка ќе содржи бектрејс што може да протече детали за поврзувањето. Како такви, php.ini option display_errors треба да се постави на 0 на продукциски сервер.

По успешното поврзување со базата на податоци, инстанца на класата PDO се враќа во вашата скрипта. Врската останува активна за време на животниот век на тој PDO објект. За да ја затворите врската, треба да го уништите објектот со осигурување дека сите преостанати референци кон него се избришани—го правите ова со доделување null на променливата што го држи објектот. Ако не го направите ова експлицитно, PHP автоматски ќе ја затвори врската кога вашата скрипта ќе заврши.

Забелешка: Ако сè уште има други референци кон оваа PDO инстанца (како од PDOStatement инстанца, или од други променливи што ја реферираат истата PDO инстанца), тие исто така мора да се отстранат (на пример, со доделување null на променливата што ја реферира PDOStatement).

Пример #3 Затворање на врска

<?php
$dbh
= new PDO('mysql:host=localhost;dbname=test', $user, $pass);
// use the connection here
$sth = $dbh->query('SELECT * FROM foo');

// and now we're done; close it
$sth = null;
$dbh = null;
?>

Многу веб апликации ќе имаат корист од воспоставување постојани врски со бази на податоци. Постојаните врски не се затвораат на крајот од скриптата, туку се кешираат и повторно се користат кога друга скрипта бара врска користејќи исти акредитиви. Кешот за постојани врски ви овозможува да ја избегнете тежината на воспоставување нова врска секогаш кога скрипта треба да комуницира со база на податоци, што резултира со побрза веб апликација.

Пример #4 Постојани врски

<?php
$dbh
= new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(
PDO::ATTR_PERSISTENT => true
));
?>

Вредноста на PDO::ATTR_PERSISTENT опцијата се претвора во bool (овозможување/оневозможување на постојани врски), освен ако не е не-нумеричка string, во кој случај дозволува користење на повеќе бази на постојани врски. Ова е корисно ако различни врски користат некомпатибилни поставки, на пример, различни вредности на PDO::MYSQL_ATTR_USE_BUFFERED_QUERY.

Забелешка:

Ако сакате да користите постојани врски, мора да го поставите PDO::ATTR_PERSISTENT во низата од опции на драјверот предадени на PDO конструкторот. Ако ја поставите оваа атрибут со Имајте предвид дека атрибутите специфични за драјверот по инстанцирањето на објектот, драјверот нема да користи постојани врски.

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

PDO не врши никакво чистење на постојаните врски. Привремените табели, заклучувања, трансакции и други промени на состојбата може да останат од претходната употреба на врската, предизвикувајќи неочекувани проблеми. Погледнете го Упорни врски со базата на податоци инструкции за инсталација

Забелешка:

Ако го користите PDO ODBC драјверот и вашите ODBC библиотеки поддржуваат ODBC Connection Pooling (unixODBC и Windows се две што го прават тоа; може да има и повеќе), тогаш се препорачува да не користите постојани PDO врски, и наместо тоа да го оставите кеширањето на врските на слојот ODBC Connection Pooling. ODBC Connection Pool се споделува со други модули во процесот; ако на PDO му се каже да ја кешира врската, тогаш таа врска никогаш нема да биде вратена во ODBC конекциониот базен, што резултира со создавање дополнителни врски за сервисирање на тие други модули.

Белешки од корисници

Нема белешки од корисници за оваа страница.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.