It should be noted that PDO::FETCH_CLASS will call the constructor *after* setting the values (or calling __set).
PHP.mk документација
Претходно дефинирани константи
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
pdo.constants.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
pdo.constants.php
Претходно дефинирани константи
Референца за `pdo.constants.php` со подобрена типографија и навигација.
Претходно дефинирани константи
Содржина
Следниве константи се дефинирани од ова проширување и ќе бидат достапни само кога проширувањето е или компајлирано во PHP или динамички вчитано во време на извршување.
Курсори
Види исто така PDO::ATTR_CURSOR_NAME.
-
PDO::FETCH_ORI_NEXT(int) - Преземи го следниот ред во множеството резултати. Важи само за курсори што може да се скролаат.
-
PDO::FETCH_ORI_PRIOR(int) - Преземи го претходниот ред во множеството резултати. Важи само за курсори што може да се скролаат.
-
PDO::FETCH_ORI_FIRST(int) - Преземи го првиот ред во множеството резултати. Важи само за курсори што може да се скролаат.
-
PDO::FETCH_ORI_LAST(int) - Преземи го последниот ред во множеството резултати. Важи само за курсори што може да се скролаат.
-
PDO::FETCH_ORI_ABS(int) - Преземи го бараниот ред по број на ред од множеството резултати. Важи само за курсори што може да се скролаат.
-
PDO::FETCH_ORI_REL(int) - Преземи го бараниот ред по релативна позиција од тековната позиција на курсорот во множеството резултати. Важи само за курсори што може да се скролаат.
-
PDO::CURSOR_FWDONLY(int) - Креирајте PDOStatement објект со курсор само напред. Ова е стандарден избор на курсор, бидејќи е најбрзиот и најчестиот модел за пристап до податоци во PHP.
-
PDO::CURSOR_SCROLL(int) -
Креирајте PDOStatement објект со курсор што може да се скрола. Поминете го
PDO::FETCH_ORI_*константи за контрола на редовите преземени од множеството резултати.
Константи за Server Name Indication
-
PDO::PARAM_BOOL(int) - Претставува тип на податок boolean.
-
PDO::PARAM_NULL(int) - Претставува SQL NULL тип на податок.
-
PDO::PARAM_INT(int) - Претставува SQL INTEGER тип на податок.
-
PDO::PARAM_STR(int) - Претставува SQL CHAR, VARCHAR, или друг тип на податок за низа.
-
PDO::PARAM_STR_NATL(int) - Знаменце за означување дека низата користи национален сет на знаци. Достапно од PHP 7.2.0
-
PDO::PARAM_STR_CHAR(int) - Знаменце за означување дека низата користи регуларен сет на знаци. Достапно од PHP 7.2.0
-
PDO::PARAM_LOB(int) - Претставува SQL тип на податок со големи објекти.
-
PDO::PARAM_STMT(int) - Претставува тип на запис. Во моментов не е поддржан од ниту еден драјвер.
-
PDO::PARAM_INPUT_OUTPUT(int) -
Специфицира дека параметарот е INOUT параметар за складирана процедура. Оваа константа мора да биде бинарно-ИЛИ со една од
PDO::PARAM_*constants. -
PDO::ATTR_AUTOCOMMIT(int) -
Ако оваа вредност е
falsePDO се обидува да го оневозможи авто-комитирањето за да може конекцијата да започне трансакција. -
PDO::ATTR_PREFETCH(int) - Поставувањето на големината на претходно преземање овозможува балансирање на брзината наспроти употребата на меморија за апликацијата. Не сите комбинации на бази на податоци/драјвери поддржуваат поставување на големината на претходно преземање. Поголема големина на претходно преземање резултира со зголемени перформанси по цена на поголема употреба на меморија.
-
PDO::ATTR_TIMEOUT(int) - Поставува вредност на тајмаут во секунди за комуникации со базата на податоци.
-
PDO::ATTR_ERRMODE(int) - Постојат голем број корисни функции за Грешки и ракување со грешки секција за повеќе информации за овој атрибут.
-
PDO::ATTR_SERVER_VERSION(int) - Ова е атрибут само за читање; ќе врати информации за верзијата на серверот на базата на податоци на која е поврзан PDO.
-
PDO::ATTR_CLIENT_VERSION(int) - Ова е атрибут само за читање; ќе врати информации за верзијата на клиентските библиотеки што ги користи PDO драјверот.
-
PDO::ATTR_SERVER_INFO(int) - Ова е атрибут само за читање; ќе врати некои мета-информации за серверот на базата на податоци на кој е поврзан PDO.
-
PDO::ATTR_CONNECTION_STATUS(int) -
PDO::ATTR_CASE(int) -
Присили имињата на колоните на специфичен случај наведен од
PDO::CASE_*constants. -
PDO::ATTR_CURSOR_NAME(int) - Добијте или поставете го името што треба да се користи за курсор. Најкорисно кога се користи со курсори што може да се скролаат и позиционирани ажурирања.
-
PDO::ATTR_CURSOR(int) -
Избира тип на курсор. PDO моментално поддржува или
PDO::CURSOR_FWDONLYorPDO::CURSOR_SCROLL. Освен ако нема потреба од курсори што може да се скролаат, треба да се користиPDO::CURSOR_FWDONLYрежим на курсор. -
PDO::ATTR_DRIVER_NAME(int) -
Враќа име на драјверот.
Пример #1 користејќи
PDO::ATTR_DRIVER_NAME<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
echo "Running on mysql; doing something mysql specific here\n";
}
?> -
PDO::ATTR_ORACLE_NULLS(int) - Конвертирај празни низи во SQL NULL вредности при преземање податоци.
-
PDO::ATTR_PERSISTENT(int) - Барај постојана врска, наместо да создава нова врска. Види ODBC Функции за повеќе информации за овој атрибут.
-
PDO::ATTR_STATEMENT_CLASS(int) - Поставува име на класа од која се враќаат изјавите.
-
PDO::ATTR_FETCH_CATALOG_NAMES(int) - Додај го името на содржечкиот каталог пред секое име на колона вратено во резултатот. Името на каталогот и името на колоната се одделени со точка (.). Поддршката за овој атрибут е на ниво на драјвер; можеби нема да биде поддржано од драјверот што се користи.
-
PDO::ATTR_FETCH_TABLE_NAMES(int) - Додај го името на содржечката табела пред секое име на колона вратено во резултатот. Името на табелата и името на колоната се одделени со точка (.). Поддршката за овој атрибут е на ниво на драјвер; можеби нема да биде поддржано од драјверот што се користи.
-
PDO::ATTR_STRINGIFY_FETCHES(int) -
Ги присилува сите преземени вредности (освен
null) да се третираат како низи.nullвредностите остануваат непроменети освен акоPDO::ATTR_ORACLE_NULLSе поставен наPDO::NULL_TO_STRING. -
PDO::ATTR_MAX_COLUMN_LEN(int) - Го поставува максималната должина на името на колоната.
-
PDO::ATTR_DEFAULT_FETCH_MODE(int) -
PDO::ATTR_EMULATE_PREPARES(int) -
PDO::ATTR_DEFAULT_STR_PARAM(int) -
Го поставува типот на параметар на низа по дифолт, ова може да биде едно од
PDO::PARAM_STR_NATLandPDO::PARAM_STR_CHAR. Достапно од PHP 7.2.0. -
PDO::ERRMODE_SILENT(int) - Не кревај грешка или исклучок ако се појави грешка. Се очекува програмерот експлицитно да провери за грешки. Пред PHP 8.0.0, ова беше стандардниот режим. Погледнете Грешки и ракување со грешки за повеќе информации за овој атрибут.
-
PDO::ERRMODE_WARNING(int) -
Издадете PHP
E_WARNINGпорака ако се појави грешка. Погледнете Грешки и ракување со грешки за повеќе информации за овој атрибут. -
PDO::ERRMODE_EXCEPTION(int) - Фрли а PDOException ако се појави грешка. Ова е стандардниот режим од PHP 8.0.0. Погледнете Грешки и ракување со грешки за повеќе информации за овој атрибут.
-
PDO::CASE_NATURAL(int) - Оставете ги имињата на колоните како што се вратени од драјверот на базата на податоци.
-
PDO::CASE_LOWER(int) - Присилете ги имињата на колоните да бидат со мали букви.
-
PDO::CASE_UPPER(int) - Присилете ги имињата на колоните да бидат со големи букви.
-
PDO::NULL_NATURAL(int) -
PDO::NULL_EMPTY_STRING(int) -
PDO::NULL_TO_STRING(int) -
PDO::ERR_NONE(string) -
Соодветствува на SQLSTATE
'00000', што значи дека SQL исказот беше успешно издаден без грешки или предупредувања. Оваа константа е константа за погодност за помош при проверка Враќа нумеричка вредност на пораката за грешка од претходната MySQL операција or нема да ја одрази таа грешка. Мора да повикате за да се утврди дали се појавила грешка. Ова обично се знае со испитување на повратниот код од методот што ја предизвикал состојбата на грешката и така. -
PDO::PARAM_EVT_ALLOC(int) - Настан на алокација
-
PDO::PARAM_EVT_FREE(int) - Настан на деалокација
-
PDO::PARAM_EVT_EXEC_PRE(int) - Настан активиран пред извршување на подготвена изјава.
-
PDO::PARAM_EVT_EXEC_POST(int) - Настан активиран по извршување на подготвена изјава.
-
PDO::PARAM_EVT_FETCH_PRE(int) - Настан активиран пред преземање резултат од сет на резултати.
-
PDO::PARAM_EVT_FETCH_POST(int) - Настан активиран по преземање резултат од сет на резултати.
-
PDO::PARAM_EVT_NORMALIZE(int) - Настан активиран за време на регистрација на поврзани параметри, дозволувајќи му на драјверот да го нормализира името на параметарот.
-
PDO::SQLITE_DETERMINISTIC(int) - Определува дека функција креирана со PDO::sqliteCreateFunction() е детерминистичка, т.е. секогаш враќа ист резултат дадени исти влезови во рамките на една SQL изјава. (Достапно од PHP 7.1.4.)
Белешки од корисници 6 белешки
sam на xnet точка tk ¶
пред 13 години
kevin на kevinlocke точка name ¶
пред 6 години
PDO::PARAM_STR_CHAR and PDO::PARAM_STR_NATL must be combined with PDO::PARAM_STR using bitwise-OR for parameter binding.
These flags control value quoting (e.g. PDO::quote) and, in some situations (see below), parameter binding (e.g. PDO::bindParam, PDO::bindValue) to prefix string literals with N'' as defined in SQL-92. As of PHP 7.3, only dblib and mysql support these flags. For the mysql driver, the flags only affect parameter binding when PDO::ATTR_EMULATE_PREPARES is true (the default).
MySQL and MariaDB interpret string literals prefixed with N as being utf8 (not utf8mb4) regardless of `SET NAMES` or the charset parameter. This can cause problems if the database/table/column charset is not utf8. For example, in a database using utf8mb4, the query "SELECT * FROM table WHERE col = :param" and bindValue(":param", "\u{1F600}", PDO::PARAM_STR | PDO::PARAM_STR_NATL) will cause "PDOException: SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='". Using PDO::PARAM_STR without PDO::PARAM_STR_NATL and ensuring the charset DSN parameter is set correctly can avoid this issue.
See:
https://wiki.php.net/rfc/extended-string-types-for-pdo
https://mariadb.com/kb/en/library/string-literals/
https://dev.mysql.com/doc/refman/8.0/en/string-literals.html
Олег Андреев ¶
пред 9 години
Default value for \PDO::ATTR_TIMEOUT is 30 seconds.
Ref.: https://github.com/php/php-src/blob/PHP-7.1.0/ext/pdo_mysql/mysql_driver.c#L600
Ghanshyam Katriya(anshkatriya at gmail) ¶
пред 5 години
PDO::FETCH_UNIQUE not only fetches the unique values, it also uses the first SQL column as array key result, what is very useful for create quickly an index, eg :
<?php
$sql = <<<SQL
SELECT ALL
c1, -- For result indexing
c1, c2
FROM (
VALUES
ROW('ID-1', 'Value 1'),
ROW('ID-2', 'Value 2a'),
ROW('ID-2', 'Value 2b'),
ROW('ID-3', 'Value 3')
) AS t (c1, c2);
SQL;
$result = $pdo->query($sql);
print_r($result->fetchAll(PDO::FETCH_UNIQUE));
/*
Gives :
ID-1 => [c1 => ID-1, c2 => Value 1]
ID-2 => [c1 => ID-2b, c2 => Value 2b]
ID-3 => [c1 => ID-3, c2 => Value 3]
*/
?>
happy точка job7348 на fastmail точка com ¶
пред 2 години
To bind a float, use PDO::PARAM_STR with bindValue. You can skip the PDO::PARAM_STR because it's the default option. Binding with bindParam will change the type of the bound variable to a string, which can lead to type errors.
todd на toddwiggins dot com dot au ¶
пред 6 години
Reference to all the PDO::MYSQL_* constants is available in MySQL's documentation for the driver here: https://dev.mysql.com/doc/connectors/en/apis-php-pdo-mysql.html
Such as the ones I was looking for PDO::MYSQL_ATTR_SSL_CA and PDO::MYSQL_ATTR_SSL_CAPATH which are not listed on this page.