PDO_MYSQL, PHP Veri Nesneleri Arayüzünün (PDO) MySQL 3.x, 4.x ve 5.x veritabanlarına erişimini mümkün kılmak için gerçeklenmiş bir sürücüdür.
PDO_MYSQL eklentisi, MySQL'in 4.1 ve üstü sürümlerinde bulunan yerleşik hazır deyim desteğinden de yararlanır. MySQL'in daha eski istemci kütüphanelerini kullanıyorsanız PDO bu desteği sizin için kendisi sağlayacaktır.
Dikkat: Bazı MySQL tablo türleri (saklama motorları) toplu hareketleri desteklemez. Bir veritabanını kodlarken toplu hareketleri desteklemeyen bir tablo türünü kullanıyorsanız MySQL toplu hareketi başarıyla ilklendirmiş gibi yapar. Ayrıca, DDL sorguları, bekleyen toplu hareketlerin örtük olarak yerine getirilmesine de sebep olur.
Bu sabitler bu sürücü tarafından
tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma
anında devingen olarak yüklenmesi halinde kullanılabilir. Ek olarak, bu
sürücüye özgü sabitler sadece bu sürücüyü kullanıyorsanız kullanılmalıdır.
Sürücüye özgü özniteliklerin postgres sürücüsü ile kullanılması beklenmedik
davranışlara yol açabilir. Eğer kodunuz çok sayıda sürücüye karşı çalışıyorsa
sürücüyü sınayacak PDO_ATTR_DRIVER_NAME
özniteliğini
sağlamak için PDO::getAttribute()
kullanılabilir.
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY
(integer)
TRUE
atanırsa MySQL sürücüsü MySQL arayüzünün tamponlu sürümlerini kullanır.
Taşınabilir bir kod yazıyorsanız bunu yapmak yerine
PDOStatement::fetchAll() yöntemini kullanın.
Örnek 1 - Sorguların tamponlanmasına zorlamak
<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
$stmt = $db->prepare('select * from foo',
array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true));
} else {
die("Bu uygulama sadece MySQL ile çalışır; " .
"yerine \$stmt->fetchAll() kullanılmalıydı");
}
?>
PDO::MYSQL_ATTR_LOCAL_INFILE
(integer)
LOAD LOCAL INFILE etkin olur.
PDO::MYSQL_ATTR_INIT_COMMAND
(integer)
MySQL sunucusuna bağlanırken çalıştırılacak komut. Yeniden bağlantı sırasında özdevinimli olarak bu komut çalıştırılır.
PDO::MYSQL_ATTR_READ_DEFAULT_FILE
(integer)
Seçenekler my.cnf yerine burada belirtilen dosyadan okunur.
PDO::MYSQL_ATTR_READ_DEFAULT_GROUP
(integer)
Seçenekler my.cnf dosyasında belirtilen gruptan veya
MYSQL_READ_DEFAULT_FILE
ile belirtilen dosyadan
okunur.
PDO::MYSQL_ATTR_MAX_BUFFER_SIZE
(integer)
Azami tampon büyüklüğü; 1 MiB öntanımlıdır.
PDO::MYSQL_ATTR_DIRECT_QUERY
(integer)
Hazır deyimler kullanılmaz, sorgular doğrudan çalıştırılır.