PDO::setAttribute
Legt ein vordefiniertes PDO-Attribut oder ein benutzerdefiniertes Treiberattribut fest.
Syntax
bool PDO::setAttribute ( $attribute, $value );
Parameter
$attribute: festzulegendes Attribut Eine Liste der unterstützten Attribute finden Sie bei den Hinweisen.
$value: Der Wert (gemischter Typ).
Rückgabewert
„true“ bei Erfolg, andernfalls „false“.
Bemerkungen
attribute | Verarbeitet von | Unterstützte Werte | BESCHREIBUNG |
---|---|---|---|
PDO::ATTR_CASE | PDO | PDO::CASE_LOWER PDO::CASE_NATURAL PDO::CASE_UPPER |
Legt fest, ob die Spaltennamen in Groß- oder Kleinbuchstaben geschrieben werden. PDO::CASE_LOWER bewirkt, das die Spaltennamen in Kleinbuchstaben geschrieben werden. PDO::CASE_NATURAL (der Standard) zeigt die Spaltennamen so an, wie sie aus der Datenbank zurückgegeben werden. PDO::CASE_UPPER bewirkt das die Spaltennamen in Großbuchstaben geschrieben werden. Dieses Attribut kann mit PDO::setAttribute eingerichtet werden. |
PDO::ATTR_DEFAULT_FETCH_MODE | PDO | Siehe PDO-Dokumentation. | Siehe PDO-Dokumentation. |
PDO::ATTR_DEFAULT_STR_PARAM | PDO | PDO::PARAM_STR_CHAR PDO::PARAM_STR_NATL |
Weitere Informationen finden Sie in den Beispielen zu PDO::quote. |
PDO::ATTR_ERRMODE | PDO | PDO::ERRMODE_SILENT PDO::ERRMODE_WARNING PDO::ERRMODE_EXCEPTION |
Legt fest, wie der Treiber Fehler meldet. PDO::ERRMODE_SILENT (der Standard) legt die Fehlercodes und -informationen fest. PDO::ERRMODE_WARNING löst E_WARNING aus. PDO::ERRMODE_EXCEPTION bewirkt, dass eine Ausnahme ausgelöst wird. Dieses Attribut kann mit PDO::setAttribute eingerichtet werden. |
PDO::ATTR_ORACLE_NULLS | PDO | Siehe PDO-Dokumentation. | Legt fest, wie NULL-Werte ausgegeben werden sollen. PDO::NULL_NATURAL nimmt keine Konvertierung vor. PDO::NULL_EMPTY_STRING wandelt eine leere Zeichenfolge in NULL um. PDO::NULL_TO_STRING wandelt NULL in eine leere Zeichenfolge um. |
PDO::ATTR_STATEMENT_CLASS | PDO | Siehe PDO-Dokumentation. | Legt die vom PDOStatement abgeleitete und vom Benutzer bereitgestellte Anweisungsklasse fest. Erfordert array(string classname, array(mixed constructor_args)) .Weitere Informationen finden Sie in der PDO-Dokumentation. |
PDO::ATTR_STRINGIFY_FETCHES | PDO | true oder false | Wandelt beim Abruf der Daten Zahlenwerte in Zeichenfolgen um. |
PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE | Microsoft-Treiber für PHP für SQL Server | 1 bis zur Grenze des PHP-Speichers. | Legt die Größe des Puffers fest, der bei der Verwendung eines clientseitigen Cursors das Resultset enthält. Die Standardeinstellung ist 10.240 KB, falls nicht anders in der php.ini-Datei angegeben. 0 (null) und negative Zahlen sind nicht zulässig. Weitere Informationen zu Abfragen, die clientseitige Cursor erstellen, finden Sie unter Cursortypen (PDO_SQLSRV-Treiber). |
PDO::SQLSRV_ATTR_DECIMAL_PLACES | Microsoft-Treiber für PHP für SQL Server | Ganze Zahl zwischen 0 und (einschließlich) 4 | Gibt die Anzahl der Dezimalstellen beim Formatieren abgerufener Geldwerte (vom Typ „money“) an. Negative ganze Zahlen oder Werte größer als 4 werden ignoriert. Diese Option funktioniert nur, wenn PDO::SQLSRV_ATTR_FORMAT_DECIMALS auf TRUE festgelegt ist. Diese Option kann auch auf Anweisungsebene festgelegt werden. Wenn dies der Fall ist, wird diese durch die Option auf Anweisungsebene überschrieben. Weitere Informationen finden Sie unter Formatieren von Dezimalzeichenfolgen und Geldwerten (PDO_SQLSRV-Treiber). |
PDO::SQLSRV_ATTR_DIRECT_QUERY | Microsoft-Treiber für PHP für SQL Server | true oder false | Legt fest, ob eine direkte oder eine vorbereitete Anweisung ausgeführt wird. Weitere Informationen finden Sie unter Direkte Anweisungsausführung und vorbereitete Anweisungsausführung im PDO_SQLSRV-Treiber. |
PDO::SQLSRV_ATTR_ENCODING | Microsoft-Treiber für PHP für SQL Server | PDO::SQLSRV_ENCODING_UTF8 PDO::SQLSRV_ENCODING_SYSTEM. |
Legt die Zeichensatzcodierung fest, die vom Treiber verwendet wird, um mit dem Server zu kommunizieren. PDO::SQLSRV_ENCODING_BINARY wird nicht unterstützt. Der Standard ist PDO::SQLSRV_ENCODING_UTF8. |
PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE | Microsoft-Treiber für PHP für SQL Server | true oder false | Gibt an, ob Datums- und Uhrzeittypen als PHP-DateTime-Objekte abgerufen werden sollen. Bei FALSE erfolgt die Standardrückgabe als Zeichenfolgen. Diese Option kann auch auf Anweisungsebene festgelegt werden. Wenn dies der Fall ist, wird diese durch die Option auf Anweisungsebene überschrieben. Weitere Informationen finden Sie unter Vorgehensweise: Abrufen von Datums- und Uhrzeittypen als PHP-datetime-Objekte mit dem PDO_SQLSRV-Treiber. |
PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE | Microsoft-Treiber für PHP für SQL Server | true oder false | Verarbeitet numerische Abrufvorgänge aus Spalten mit numerischen SQL-Typen („bit“, „integer“, „smallint“, „tinyint“, „float“ oder „real“). Wenn das Flag für die Verbindungsoption ATTR_STRINGIFY_FETCHES auf „On“ festgelegt ist, ist der Rückgabewert selbst dann eine Zeichenfolge, wenn SQLSRV_ATTR_FETCHES_NUMERIC_TYPE auf „On“ festgelegt ist. Wenn der zurückgegebene PDO-Typ in einer bind-Spalte PDO_PARAM_INT lautet, ist der Rückgabewert aus einer integer-Spalte vom Typ „int“, selbst wenn SQLSRV_ATTR_FETCHES_NUMERIC_TYPE auf „Off“ festgelegt ist. |
PDO::SQLSRV_ATTR_FORMAT_DECIMALS | Microsoft-Treiber für PHP für SQL Server | true oder false | Gibt an, ob Dezimalzeichenfolgen gegebenenfalls führende Nullen hinzugefügt werden sollen. Bei Festlegung erlaubt diese Option der Option PDO::SQLSRV_ATTR_DECIMAL_PLACES das Formatieren von Datentypen vom Typ „money“. Bei FALSE wird als Standardverhalten die Rückgabe absoluter Genauigkeit und das Auslassen führender Nullen für Werte kleiner 1 verwendet. Diese Option kann auch auf Anweisungsebene festgelegt werden. Wenn dies der Fall ist, wird diese durch die Option auf Anweisungsebene überschrieben. Weitere Informationen finden Sie unter Formatieren von Dezimalzeichenfolgen und Geldwerten (PDO_SQLSRV-Treiber). |
PDO::SQLSRV_ATTR_QUERY_TIMEOUT | Microsoft-Treiber für PHP für SQL Server | integer | Legt das Abfragetimeout in Sekunden fest. Der Standard ist 0, d. h. dass der Treiber unendlich lange auf Ergebnisse wartet. Negative Zahlen sind nicht zulässig. |
PDO verarbeitet einige der vordefinierten Attribute. Die übrigen müssen vom Treiber verarbeitet werden. Alle benutzerdefinierten Attribute und alle Verbindungsoptionen werden vom Treiber verarbeitet. Ein nicht unterstütztes Attribut, eine nicht unterstützte Verbindungsoption oder ein nicht unterstützter Wert wird laut den Einstellungen in PDO::ATTR_ERRMODE gemeldet.
Unterstützung für PDO wurde in Version 2.0 von Microsoft-Treiber für PHP für SQL Serverhinzugefügt.
Beispiel
Dieses Beispiel zeigt, wie das PDO::ATTR_ERRMODE-Attribut eingerichtet wird.
<?php
$database = "AdventureWorks";
$conn = new PDO( "sqlsrv:server=(local) ; Database = $database", "", "");
$attributes1 = array( "ERRMODE" );
foreach ( $attributes1 as $val ) {
echo "PDO::ATTR_$val: ";
var_dump ($conn->getAttribute( constant( "PDO::ATTR_$val" ) ));
}
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$attributes1 = array( "ERRMODE" );
foreach ( $attributes1 as $val ) {
echo "PDO::ATTR_$val: ";
var_dump ($conn->getAttribute( constant( "PDO::ATTR_$val" ) ));
}
?>