- PDO, MYSQL, Oracle, PostgreSQL ve diğerleri gibi farklı veritabanları ile çalışmanıza izin verir.
- PDO, hazırlanmış bir ifadeyle çalışmanıza izin verir
PDO Kullanarak Veritabanına Bağlanma
PDO ile çalışmaya başlamadan önce, doğru uzantıya sahip olduğunuzdan emin olmalısınız - php_pdo_mysql.dll. Bu phpinfo () işlevi ile doğrulanabilir. Her şey yolundaysa, gitmekte fayda var. Öncelikle veritabanına bağlanmamız gerekiyor:/ / MuSQL
$Database = new PDO ("mysql: host = $ host; dbname = $Databasename", $username, $password);
/ / PostgreSQL
$Database = new PDO ("pgsql: host = $ host; dbname = $Databasename", $username, $password);
/ / MS SQL
$Database = new PDO ("mssql: host = $ host; dbname = $Databasename", $username, $password);
/ / SQLite
$Database = new PDO ("sqlite: my / database / path / database.db");
Örnekten de görebileceğiniz gibi, her veritabanı bağlantı dizesi birbirinden biraz farklıdır.
Birime bağlanmaya çalışırken her zaman try/catch kullanmalısınız, böylece istisnai durumlarda kullanıcıya herhangi bir veri açıklamayız.
try {
$Database = new PDO ("mysql: host = $ host; dbname = $Databasename", $username, $password);
}
catch (PDOException $ e) {
echo "Unable to connect to database";
}
PDO'da bağlantıyı kapatmanın özel bir yöntemi yoktur, değişkeni geçersiz kılarak bağlantıyı kapatabiliriz:
$Database = null;
PDO ile Sorgular
Şimdi az önce oluşturduğumuz bağlantı için PDO'daki sorgulardan bahsedelim. Üç ana yöntem vardır:Method $Database-> query Bu yöntem, korunmadığından basit sorgular için kullanılır. Bir hata oluşursa FALSE döndürür.
$Database-> query ("SELECT * FROM site_info");
$Database-> query ("DELETE FROM site_info");
Method $Database-> exec
Bu yöntem, herhangi bir veri döndürmediğiniz durumlarda kullanılır. Yöntem, etkilenen kayıtların sayısını veya hata durumunda FALSE değerini döndürür.
$Res = $Database-> exec ("DELETE FROM site_info");
$Database-> prepare
Hazırlanan ifadelerden yöntem sorumludur ve kullanılması teşvik edilir.
/ / Anonymous placeholders
$Res = $Database-> prepare ("INSERT INTO users (name, phone, city) values (?,?,?)");
/ / Registered placeholders
$Res = $Database-> prepare ("INSERT INTO users (name, site, software) values (: name,: site,: software)");
Sorguyu hazırladıktan sonra sorgu çalıştırılabilir.
$Res-> execute ($Data) .
"chips" PDO'larından biri, hatırladığınız gibi, sadece kayıtlı yer tutuculardır. onlarla çalışırken daha detaylı bakalım:
Registered placeholders
$Data = array ();
$Data ['name'] = 'developer resources';
$Data ['site'] = 'ssiddique.info';
$Data ['software'] = 'wordpress';
$Res = $Database-> prepare ("INSERT INTO site_info(name, site, software) values (: name,: site,: software)");
$Res-> execute ($Data);
İsimsiz yer tutucuların kullanımı, kişisel olarak hiç kullanmama rağmen, iyi bir uygulama olarak kabul edilir.
$Data = array ();
$Data ['name'] = 'developer resources';
$Data ['site'] = 'ssiddique.info';
$Data ['software'] = 'wordpress';
$Res = $Database-> prepare ("INSERT INTO site_info(name, site, software) values (?,?,?)");
$Res-> execute ($Data);
Şimdi verilerin nasıl getirileceğini görelim
$Res-> fetch
- Sonraki satırı çeker ve gerekli biçimde geri döner.
$Res-> fetchAll
- seçilen tüm satırların bir dizisini döndürür.
$Res-> fetchObject
- sonraki satırı seçer ve bir nesne olarak döndürür.
Yöntem $Res-> fetch
ek parametreler alabilir.
while ($ res = $ res-> fetch ())
{
echo $ res-> name;
}