Php 8 MySQLi ile Kayıt Ekleme

Php 8 MySQLi ile Kayıt Ekleme

PHP 8 ile MySQLi kullanarak veritabanına kayıt eklemek oldukça basittir. MySQLi, MySQL veritabanı ile etkileşimde bulunmanın geliştirilmiş bir yoludur. MySQLi, hem objektif hem de prosedürel olmak üzere iki farklı yöntem sunar. Aşağıda adım adım MySQLi kullanarak nasıl kayıt ekleneceğini anlatacağım.

1. MySQLi ile Veritabanına Bağlantı

Öncelikle veritabanına bağlanmamız gerekir. MySQLi'nin prosedürel yöntemiyle veritabanına bağlanma aşağıdaki gibidir:

<?php // Veritabanı bilgileri $servername = "localhost"; $username = "root"; $password = ""; $database = "testdb"; // Veritabanına bağlan $conn = mysqli_connect($servername, $username, $password, $database); // Bağlantı kontrolü if (!$conn) { die("Bağlantı başarısız: " . mysqli_connect_error()); } echo "Bağlantı başarılı!"; ?>

Bu kodda:

  • mysqli_connect(): Veritabanına bağlanmak için kullanılır.
  • localhost, root, password, ve testdb: Sırasıyla sunucu adı, kullanıcı adı, şifre ve veritabanı adıdır.

2. Kayıt Ekleme (INSERT INTO)

Veritabanına kayıt eklemek için SQL INSERT INTO komutunu kullanırız. Aşağıdaki örnekte, students tablosuna yeni bir kayıt ekleyeceğiz.

Örnek SQL tablosu:

CREATE TABLE students ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL );

MySQLi ile kayıt eklemek için:

<?php // Veritabanı bilgileri $servername = "localhost"; $username = "root"; $password = ""; $database = "testdb"; // Veritabanına bağlan $conn = mysqli_connect($servername, $username, $password, $database); // Bağlantı kontrolü if (!$conn) { die("Bağlantı başarısız: " . mysqli_connect_error()); } // SQL INSERT komutu $sql = "INSERT INTO students (name, email) VALUES ('Ali Veli', 'ali@example.com')"; // Sorguyu çalıştır ve sonucu kontrol et if (mysqli_query($conn, $sql)) { echo "Yeni kayıt başarıyla eklendi."; } else { echo "Hata: " . $sql . "<br>" . mysqli_error($conn); } // Bağlantıyı kapat mysqli_close($conn); ?>

Bu kod:

  • SQL Sorgusu: "INSERT INTO students (name, email) VALUES ('Ali Veli', 'ali@example.com')" komutunu çalıştırarak students tablosuna yeni bir kayıt ekler.
  • mysqli_query(): SQL sorgusunu veritabanına gönderir.
  • Eğer sorgu başarılı olursa, "Yeni kayıt başarıyla eklendi." mesajını görüntüler. Aksi takdirde hata mesajı verir.

3. Hazırlıklı Sorgular (Prepared Statements) ile Kayıt Ekleme

Hazırlıklı sorgular (prepared statements), veritabanı işlemlerinde güvenliği artırır ve SQL injection saldırılarına karşı koruma sağlar. Hazırlıklı sorgularla veri ekleme şu şekilde yapılır:

<?php // Veritabanı bilgileri $servername = "localhost"; $username = "root"; $password = ""; $database = "testdb"; // Veritabanına bağlan $conn = mysqli_connect($servername, $username, $password, $database); // Bağlantı kontrolü if (!$conn) { die("Bağlantı başarısız: " . mysqli_connect_error()); } // Hazırlıklı sorgu oluştur $stmt = mysqli_prepare($conn, "INSERT INTO students (name, email) VALUES (?, ?)"); // Parametreleri bağla mysqli_stmt_bind_param($stmt, "ss", $name, $email); // Değerleri tanımla $name = "Ahmet Yılmaz"; $email = "ahmet@example.com"; // Sorguyu çalıştır if (mysqli_stmt_execute($stmt)) { echo "Yeni kayıt başarıyla eklendi."; } else { echo "Hata: " . mysqli_stmt_error($stmt); } // Sorguyu kapat mysqli_stmt_close($stmt); // Bağlantıyı kapat mysqli_close($conn); ?>

Bu kodda:

  • mysqli_prepare() : Hazırlıklı bir SQL sorgusu oluşturur. ? işaretleri sorguda veri yerleştirilecek alanları belirtir.
  • mysqli_stmt_bind_param() : Sorgu içinde ? ile belirtilen yerleri dinamik olarak doldurur. "ss" ifadesi iki string parametre anlamına gelir.
  • mysqli_stmt_execute() : Hazırlıklı sorguyu çalıştırır.

4. Bağlantıyı Kapatma

Veritabanı işlemleri bittikten sonra, kullanılan kaynakları serbest bırakmak için bağlantıyı kapatmak önemlidir. Bunu mysqli_close() fonksiyonu ile yaparız:

mysqli_close($conn);

Özet

  • PHP 8 ile MySQLi kullanarak veritabanına kayıt eklemek hem güvenli hem de esnektir.
  • Prosedürel yöntem ile basitçe sorgular çalıştırılabilir.
  • Hazırlıklı sorgular (Prepared Statements), SQL injection saldırılarına karşı koruma sağlar.
  • Bağlantıyı açtıktan sonra, işlemler bittikten sonra kapatmak önemlidir.

Bu şekilde PHP 8'de MySQLi ile veritabanına güvenli ve etkili bir şekilde kayıt ekleyebilirsiniz.



Yorum Ekle

Üzerine gel