mysql_connect metodu PHP 5.5 ve üzeri sürümlerinde desteklenmemektedir. mysql_ metodlarının yerine artık PDO(PHP Data Object-PHP Veri Nesnesi) kullanılmaktadır. Aşağıda PDO yöntemi ile basit bir şekilde veri tabanı bağlantısı ve olası hata kodları gösterilmiştir.
Phpmyadmin kullanarak veritabanı oluşturma ile ilgili makale için tıklayınız.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $db_ad='kutuphane'; $db_kullanici='root';/*localhost üzerinde genellikle root kullanıcı adı girilir*/ $db_sifre=''; /*localhost üzerinde genellikle şifre boş geçilir.*/ $db = new PDO('mysql:host=localhost;dbname='.$db_ad, $db_kullanici, $db_sifre); /*$db nesnesi ile insert update delete işlemlerini gerçekleştirebilirsiniz.*/ foreach($db->query('SELECT * from yazar') as $satir) { print_r($satir); } $db = null; ?> |
kutuphane veritabanı yok Fatal error: Uncaught PDOException: SQLSTATE[HY000] [1049] Unknown database ‘kutuphane’ in
Kullanıcı doğru değil yada yok Fatal error: Uncaught PDOException: SQLSTATE[HY000] [1044] Access denied for user ”@’localhost’ to database ‘kutuphane’ in
Şifre hatalı yada yok Fatal error: Uncaught PDOException: SQLSTATE[HY000] [1045] Access denied for user ‘root’@’localhost’ (using password: YES) in
Mysql bağlantısını hata kontrol(try catch) ile gerçekleştirmek istiyorsanız. Aşağıdaki kodları kullanabilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <?php try { $db_ad='kutuphane'; $db_kullanici='root'; $db_sifre=''; $db = new PDO('mysql:host=localhost;dbname='.$db_ad, $db_kullanici, $db_sifre); foreach($db->query('SELECT * from yazar') as $satir) { print_r($satir); } $db = null; } catch (PDOException $e) { print "Bağantı Hatası!: " . $e->getMessage() . "<br/>"; die(); } ?> |