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.
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-> fetchek parametreler alabilir. while ($ res = $ res-> fetch ()) { echo $ res-> name; }