PHP MySQL Veritabanı bağlantısı oluşturma ve PHP MySQL Tablo Oluşturma yazılarından sonra sıra veri eklemeye geldi.
Bu derste, MySQL’e Veri Ekleme Oluşturma Konusunu öğreneceğiz. PHP ve MySQL bağlantısı oluşturmanın 3 yolu var. Bunlar:
- MySQLi (nesne yönelimli)
- MySQLi (prosedürel)
- PDO (PHP Veri Nesneleri)
Ancak, bu eğitimde, PDO Sözdizimi’nde kullanacağız. Bu eğitim veri tabanına nasıl veri ekleneceğini gösterir.
Önceki derste, “blog” isimli bir veritabanı oluşturdum ve tablo adını “tbl_kayit” olarak belirledim. Bu yazıda da aynı isimleri kullanarak veritabanı işlemlerini gerçekleştireceğim.
Ayrıca LOCALHOST(YEREL) bağlantıda kullanıcı adım:root ve şifre=”” şeklindedir.
Tabloyu oluştura ile başlayalım:
Bir veritabanı oluşturmak için:
- PHPMyAdmin‘i açın.
- Bir veritabanı oluşturun ve “blog” olarak adlandırın.
- Bir veritabanı adı oluşturduktan sonra, tablomuzu oluşturacağız. Ve “tbl_kayit” olarak adlandırın.
- Lütfen aşağıdaki kodu kopyalayın.
1 2 3 4 5 6 7 8 9 10 | CREATE TABLE `tbl_kayit` ( `tbl_kayit_id` INT(11) PRIMARY KEY AUTO_INCREMENT NOT NULL, `unvan` VARCHAR(100) NOT NULL, `adi` VARCHAR(100) NOT NULL, `soyadi` VARCHAR(100) NOT NULL, `email` VARCHAR(100) NOT NULL, `telefon` VARCHAR(100) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
Form Alanı Oluşturmak
Kullanıcının bilgileri metin kutularına yazdığı form alanını oluşturmamız gerekir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | <!DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>TasarimKodlama.com</title> </head> <body> <form method="post" action="kayit_ekle.php"> <h2>PHP PDO ile Kayıt Ekleme</h2> <table cellspacing="3" cellpadding="3" width="80%"> <tr> <td><label>Ünvanı girin</label></td> <td><input type="text" name="unvan" placeholder="Ünvanı girin....." autofocus="autofocus"></td> </tr> <tr> <td><label>Adınızı girin</label></td> <td><input type="text" name="isim" placeholder="Adınızı girin....." autofocus="autofocus"></td> </tr> <tr> <td><label>Soyadınızı girin</label></td> <td><input type="text" name="soyisim" placeholder="Soyadınızı girin....." autofocus="autofocus"></td> </tr> <tr> <td><label>Email girin</label></td> <td><input type="email" name="email" placeholder="Email girin....." autofocus="autofocus"></td> </tr> <tr> <td><label>Telefon girin</label></td> <td><input type="text" placeholder="Telefon girin....." maxlength="13" name="telefon" autofocus="autofocus"></td> </tr> <tr> <td colspan="2"> <button type="submit" name="kaydet">Kayıt Ekle</button> <button type="reset" name="temizle">Formu Temizle</button> </td> </tr> </table> </form> </body> </html> |
PDO Kullanarak Veritabanı Bağlantısı Oluşturma
baglanti.php adında PHP sayfası oluşturup aşağıdaki bağlantı cümlesini yapıştırın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php $sunucuadi = "localhost"; $kadi = "root"; //local kadi:root $sifre = "";//local şifre:"" $vtadi = "blog"; // bağlantı oluşturma try { $conn = new PDO("mysql:host=$sunucuadi;dbname=$vtadi;charset=utf8mb4", $kadi, $sifre); // Hata modunu etkinleştirme $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { echo $sql . "<br>" . $e->getMessage(); } |
INSERT INTO ifadesini Oluşturma
kayit_ekle.php adında PHP dosyası açıp aşağıdaki kodları yapıştırın. Bu PHP sorgusu bir veri tabanına veri eklemek için kullanılır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <?php include ('baglanti.php'); $unvan=$_POST['unvan']; $adi=$_POST['isim']; $soyadi=$_POST['soyisim']; $email=$_POST['email']; $telefon=$_POST['telefon']; /* PHP değişkenleriyle ilişkili bir hazır deyim çalıştıralım */ try { $sth = $conn->prepare('INSERT INTO tbl_kayit(unvan,adi,soyadi,email,telefon) VALUES(?,?,?,?,?)'); $sth->bindParam(1, $unvan, PDO::PARAM_STR); $sth->bindParam(2, $adi, PDO::PARAM_STR); $sth->bindParam(3, $soyadi, PDO::PARAM_STR); $sth->bindParam(4, $email, PDO::PARAM_STR); $sth->bindParam(5, $telefon, PDO::PARAM_STR); $sth->execute(); //kayıt başarılı olursa echo "<script>window.alert('Kaydınız eklendi!'); window.history.back();</script>"; } catch(PDOException $e) { echo $sql . "HATA: <br>" . $e->getMessage(); } ?> |
5 Yorum