PHP programlama dili, MySQL veritabanı kullanarak web sitesi ya da uygulamasına veri eklemek için çeşitli yöntemler sunar mysqli_query fonksiyonu, MySQL veritabanına veri eklemenin en yaygın yöntemidir Bu fonksiyonu kullanarak veritabanı bağlantısı oluşturabilir, INSERT INTO ifadesi ile veri ekleyebilir ve sorguyu sorgulayarak başarılı olup olmadığını kontrol edebilirsiniz Prepared statements kullanarak, önceden belirlenmiş parametreleri kullanarak veri eklemek de mümkündür MySQL ile veritabanına veri ekleme işlemlerini gerçekleştirirken güvenliğiniz için prepared statements kullanmanız önerilir
Bir web sitesi ya da uygulaması geliştirirken, genellikle bir veritabanına veri eklemek gerekebilir. PHP programlama dili, bir veritabanına veri eklemek için kullanılabilen çeşitli yöntemler sunar. Bu makalede, bu yöntemleri anlatacağız ve örnekler vereceğiz.
MySQL ve PostgreSQL iki yaygın kullanılan veritabanı türüdür. Bu makalede, her iki veritabanı için de veri ekleme yöntemleri ele alınacaktır. İlk olarak, MySQL kullanarak veri ekleme işlemlerinin nasıl gerçekleştirileceği anlatılacaktır.
MySQL | PostgreSQL |
---|---|
mysqli_query() | pg_query() |
Prepared statements | Prepared statements |
mysqli_query() fonksiyonu, MySQL veritabanında veri ekleme işlemi gerçekleştirmek için kullanılabilir. Fonksiyona, öncelikle bir bağlantı nesnesi ve sorgu parametreleri verilir. Örnek kod aşağıda verilmiştir:
$conn = mysqli_connect("localhost", "username", "password", "database");$sql = "INSERT INTO users (name, email, password) VALUES ('John Doe', 'johndoe@example.com', 'password')";$result = mysqli_query($conn, $sql);if($result) { echo "Veri başarıyla eklendi.";} else { echo "Veri eklerken bir hata oluştu.";}
Prepared statements kullanarak, önceden belirlenmiş parametreleri kullanarak veri eklemek mümkündür. Bu yaklaşım, bir SQL saldırısının önlenmesine yardımcı olur. Aşağıdaki örnek kod, prepared statements kullanarak veri ekleme işlemi göstermektedir:
$conn = mysqli_connect("localhost", "username", "password", "database");$name = "Jane Doe";$email = "janedoe@example.com";$password = "password";$stmt = mysqli_prepare($conn, "INSERT INTO users (name, email, password) VALUES (?, ?, ?)");mysqli_stmt_bind_param($stmt, "sss", $name, $email, $password);$result = mysqli_stmt_execute($stmt);if($result) { echo "Veri başarıyla eklendi.";} else { echo "Veri eklerken bir hata oluştu.";}
PostgreSQL veritabanında da benzer yöntemler geçerlidir. pg_query() fonksiyonu, veri ekleme işlemi gerçekleştirmek için kullanılır. Aşağıdaki örnek kod, pg_query() fonksiyonu kullanılarak veri ekleme işlemini göstermektedir:
$conn = pg_connect("host=localhost dbname=database user=username password=password");$sql = "INSERT INTO users (name, email, password) VALUES ('John Doe', 'johndoe@example.com', 'password')";$result = pg_query($conn, $sql);if($result) { echo "Veri başarıyla eklendi.";} else { echo "Veri eklerken bir hata oluştu.";}
Prepared statements kullanarak veri ekleme işlemi yapmak da mümkündür. Aşağıdaki örnek kod, prepared statements kullanarak PostgreSQL veritabanına veri ekleme işlemini göstermektedir:
$conn = pg_connect("host=localhost dbname=database user=username password=password");$name = "Jane Doe";$email = "janedoe@example.com";$password = "password";$stmt = pg_prepare($conn, "my_query", "INSERT INTO users (name, email, password) VALUES ($1, $2, $3)");$result = pg_execute($conn, "my_query", array($name, $email, $password));if($result) { echo "Veri başarıyla eklendi.";} else { echo "Veri eklerken bir hata oluştu.";}
Veritabanına veri ekleme işlemi, bir web sitesi ya da uygulamasının temel işlevlerinden biridir. Bu makalede, PHP ve MySQL veya PostgreSQL kullanarak veri ekleme işlemlerinin nasıl gerçekleştirilebileceğini öğrendiniz. Unutmayın ki, güvenliğinizi artırmak için prepared statements kullanmanız önerilir.
MySQL Veritabanına Veri Ekleme
MySQL Veritabanına Veri Ekleme:
PHP ve MySQL kullanarak veritabanına veri ekleme işlemi oldukça basittir. mysqli_query () fonksiyonunu kullanarak MySQL veritabanına veri ekleme işlemini gerçekleştirebilirsiniz. Bunun için ilk adım, veritabanı bağlantısını oluşturmaktır. Veritabanına bağlanmak için mysqli_connect () fonksiyonunu kullanabilirsiniz.
Ardından, mysqli_query () fonksiyonunu kullanarak INSERT INTO SQL ifadesini tanımlayabilir ve veri ekleyebilirsiniz. INSERT INTO ifadesi, verilerin belirtilen tabloya eklenmesini sağlar. Ayrıca, özel veriler de ekleyebilirsiniz. Örneğin, veri eklerken tarih ve saat formattında bir sütun oluşturabilirsiniz.
mysqli_query () fonksiyonu, içinde verilen SQL ifadesini sorgulayarak sonuç döndürür. Sorguyu başarıyla tamamlarsa true değerini döndürür.
Aşağıdaki örnek, mysqli_query () fonksiyonu kullanarak MySQL veritabanına veri ekleme işlemini göstermektedir.
```
// Veritabanı bağlantısı oluşturma$conn = mysqli_connect($servername, $username, $password, $dbname);
// Bağlantı hatası olup olmadığını kontrol edinif (!$conn) { die("Bağlantı hatası: " . mysqli_connect_error());}
// İnsert ifadesini tanımlama$sql = "INSERT INTO ogrenciler (isim, soyisim, yas)VALUES ('Ali', 'Demir', '20')";
// İnsert işlemini gerçekleştirmeif (mysqli_query($conn, $sql)) { echo "Yeni bir kayıt başarıyla oluşturuldu.";} else { echo "Hata: " . $sql . "
" . mysqli_error($conn);}
// Veritabanı bağlantısını kapatmamysqli_close($conn);?>```
Bu örnekte, kullanıcı adı, şifre ve veritabanı adı değişkenlere tanımlanmıştır. Ardından, mysqli_connect () fonksiyonu kullanılarak veritabanı bağlantısı oluşturulmuştur. Hata oluşması durumunda, mysqli_connect_error () fonksiyonu kullanılarak hata mesajı gösterilmiştir.
INSERT INTO ifadesi tanımlanarak veri ekleme işlemi gerçekleştirilmiştir. Ayrıca, mysqli_query () fonksiyonu kullanılarak veritabanı sorgusu gerçekleştirilmiştir. Sorgu başarılı olursa, "Yeni bir kayıt başarıyla oluşturuldu." mesajı gösterilmektedir.
Son olarak, mysqli_close () fonksiyonu kullanılarak veritabanı bağlantısı kapatılmıştır. Bu işlem, veritabanı kaynaklarının serbest bırakılmasını sağlar.
Özetle, yukarıdaki örnek kullanılarak PHP ve MySQL kullanarak veritabanına veri ekleme işlemi gerçekleştirilebilir.
mysqli_query () Fonksiyonu Kullanarak Veri Ekleme
Yeni verilerinizi MySQL veritabanına eklemek için, mysqli_query () fonksiyonunu kullanabilirsiniz. Bu fonksiyon, veritabanındaki tablonuza veri eklemek için kullanılan SQL sorgusunu çalıştırır.
Bir sorgu oluşturmak için, mysqli_query () fonksiyonunu kullanarak bağlantı kurduktan sonra, "INSERT INTO" ifadesini kullanarak ekleme işlemini yazın.
Örneğin, "kullanıcılar" tablosuna bir kullanıcı eklemek istediğinizi varsayalım. Aşağıdaki kod, kullanıcı adı ve e-posta adresi bilgilerini parametre olarak alır ve bunları kullanarak bir sorgu oluşturur:
Örnek Kod: |
---|
$isim = "Ahmet"; $email = "ahmet@mail.com"; $sorgu = "INSERT INTO kullanıcılar (isim, email) VALUES ('$isim', '$email')"; mysqli_query($baglanti, $sorgu); |
Bu sorgu, "kullanıcılar" tablosuna "Ahmet" adında bir kullanıcı ekler. Yeni kullanıcı bilgilerinin geçerliliğini kontrol etmek için, isim ve e-posta adresi gibi veriler değişkenlere atanarak sorgu içinde kullanılır.
Unutmayın, verileri doğrulamadan veya filtrelemeden eklememelisiniz. Bu, zararlı saldırganların veritabanınıza istenmeyen veri eklemesine neden olabilir. Bu nedenle, gerekli güvenlik önlemlerini aldığınızdan emin olun ve mümkün olduğunca hazırlanmış ifadeler kullanın.
Örnek Kod: mysqli_query () Fonksiyonu ile Veri Ekleme
Bir web sitesi oluşturmak istediğinizde, veritabanına veri eklemek önemlidir. Bu makalede, mysqli_query () fonksiyonu kullanarak MySQL veritabanına veri eklemenin nasıl yapıldığını öğreneceksiniz.
Bir veritabanına veri eklemek için, öncelikle mysqli_connect () fonksiyonu aracılığıyla MySQL veritabanına bağlanmanız gerekir. Daha sonra, mysqli_query () fonksiyonu kullanarak veritabanına veri ekleyebilirsiniz.
Aşağıdaki örnek, "employees" adlı MySQL veritabanına "John Doe" adlı bir işçi eklemektedir. Örnekte, bağlantı oluşturmak için "localhost", "root" ve boş bir parola kullanılmaktadır.
employee_id | first_name | last_name |
---|---|---|
1 | John | Doe |
Aşağıdaki PHP kodu, "employees" adlı MySQL veritabanına "John Doe" adlı bir işçi ekler:
$servername = "localhost";$username = "root";$password = "";$dbname = "employees";// Bağlantı oluştur$conn = mysqli_connect($servername, $username, $password, $dbname);// Bağlantıyı kontrol etif (!$conn) { die("Connection failed: " . mysqli_connect_error());}// SQL sorgusu$sql = "INSERT INTO employees (first_name, last_name)VALUES ('John', 'Doe')";// Veritabanına sorgu gönder ve sonucu kontrol etif (mysqli_query($conn, $sql)) { echo "Yeni kayıt başarıyla eklendi!";} else { echo "Hata: " . $sql . "
" . mysqli_error($conn);}// Bağlantıyı kapatmysqli_close($conn);
Bu örnek, employees tablosuna yeni bir kayıt eklemek için mysqli_query () fonksiyonunu kullandığınızda ne yapmanız gerektiğini gösterir. Bu nedenle, bu işlemleri takip ederek kolayca veritabanına veri ekleyebilirsiniz.
Örnek Kod: PDO ile Veri Ekleme
PHP Veritabanı Nesneleri (PDO), MySQL veritabanına bağlanırken güvenli bir yol sağlar. Aşağıdaki örnek, PDO'yu kullanarak veritabanına veri eklemek için nasıl bir yöntem izleneceğini göstermektedir:
Kullanıcı Adı | Parola | E-posta |
---|---|---|
John | Doe | john@example.com |
Jane | Doe | jane@example.com |
Yukarıdaki tablo, 'kullanıcılar' adlı bir veritabanına eklenecek olan kullanıcılar hakkında bilgi içermektedir. Aşağıdaki kod bloğu, PDO ile 'kullanıcılar' tablosuna veri eklemek için bir örnek yöntem sunmaktadır:
<?php $servername = "localhost"; $username = "kullanici_adi"; $password = "parola"; $dbname = "myDBPDO"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // prepare sql and bind parameters $stmt = $conn->prepare("INSERT INTO kullanıcılar (firstname, lastname, email) VALUES (:firstname, :lastname, :email)"); $stmt->bindParam(':firstname', $firstname); $stmt->bindParam(':lastname', $lastname); $stmt->bindParam(':email', $email); // insert a row $firstname = "John"; $lastname = "Doe"; $email = "john@example.com"; $stmt->execute(); // insert another row $firstname = "Jane"; $lastname = "Doe"; $email = "jane@example.com"; $stmt->execute(); echo "Veri tabanına yeni kayıt başarıyla eklendi."; } catch(PDOException $e) { echo "Error: " . $e->getMessage(); } $conn = null; ?>
Yukarıdaki kod bloğunda, PDO parametre ile SQL sorgusunu oluşturur ve ardından belirtilen verilerle sorguyu bağlar. 'prepare()' yöntemi, verilerin güvenli bir şekilde gönderilmesini sağlar ve SQL enjeksiyon saldırılarına karşı koruma sağlar. 'bindParam()' yöntemi, SQL sorgusundaki parametreleri belirtilen değişkenlere bağlar ve 'execute()' yöntemi SQL sorgusunu çalıştırır.
Bu, PDO kullanarak MySQL veritabanına veri ekleme işleminin kullanışlı bir yöntemidir ve güvenli bir yaklaşım sunar. Bu yaklaşımı kullanarak, verilerinizi güvenli bir şekilde veritabanına ekleyebilirsiniz.
Prepared Statements Kullanarak Veri Ekleme
Prepared statements, SQL sorgularına değişkenler ve parametreler ekleyerek, SQL enjeksiyon saldırılarından korunmaya yardımcı olan bir tekniktir. Bu yöntem kullanılarak MySQL veritabanına veri ekleme işlemi gerçekleştirilebilir.
Prepared statements kullanarak veri ekleme işlemi, mysqli_prepare () fonksiyonunun kullanılması ile gerçekleştirilir. Bu fonksiyon, bir SQL sorgusunun ilk önce hazırlanmasını ve sonrasında sorgudaki değişkenlerin girilmesini sağlar.
Hazırlanan sorgu, mysqli_stmt_bind_param () fonksiyonu ile değişkenlere değer atanır. Sonrasında ise mysqli_stmt_execute () fonksiyonu kullanılarak sorgu çalıştırılır ve veritabanına veri ekleme işlemi tamamlanır.
Aşağıdaki örnek, prepared statements kullanarak MySQL veritabanına veri ekleme işlemini göstermektedir:
// MySQL veritabanı bağlantısı$conn = mysqli_connect("localhost", "kullanici_adi", "sifre", "veritabani_adi");// Prepared statements kullanarak veri ekleme sorgusu hazırlama$stmt = mysqli_prepare($conn, "INSERT INTO musteriler (ad, soyad, yas, email) VALUES (?, ?, ?, ?)");
// Sorgudaki değişkenlere değer atamamysqli_stmt_bind_param($stmt, "ssis", $ad, $soyad, $yas, $email);
// Değişkenlere veri atama$ad = "Ahmet";$soyad = "Yılmaz";$yas = 28;$email = "ahmet.yilmaz@example.com";
// Sorguyu çalıştırmamysqli_stmt_execute($stmt);
// Bağlantıyı sonlandırmamysqli_close($conn);
Yukarıdaki örnekte, "INSERT INTO musteriler (ad, soyad, yas, email) VALUES (?, ?, ?, ?)" sorgusu hazırlanarak, değişkenlere değer atandı. Değişkenlere ise "mysqli_stmt_bind_param ()" fonksiyonu ile veriler atandı. En son olarak ise "mysqli_stmt_execute ()" fonksiyonu kullanılarak sorgu çalıştırıldı.
Prepared statements kullanarak veri ekleme işlemi, SQL enjeksiyonu önlemek için oldukça önemlidir. Bu yöntem kullanılarak, birçok güvenlik açığı önlenebilir ve verilerin güvenliği arttırılabilir.
Örnek Kod: Prepared Statements ile Veri Ekleme
PHP ve MySQL kullanarak veritabanına veri ekleme işlemini yaparken prepared statements kullanımı önemlidir. Prepared statements, SQL sorgularının önceden hazırlanmasını ve daha sonra veriyle birlikte gönderilmesini sağlar. Bu yöntem, veritabanına yapılacak sorguların güvenliğini artırmak ve istenmeyen enjeksiyon saldırılarını önlemek için de önemlidir.
Aşağıdaki örnek kod, prepared statements kullanarak MySQL veritabanına veri ekleme işlemini göstermektedir. İlk olarak, veritabanı bağlantısı kurulur ve ardından kullanılacak olan sorgu hazırlanır. Sorgumuzda kullanacağımız parametreler soru işareti (?) ile belirtilir. Bu parametreler daha sonra execute () fonksiyonu kullanılarak sorgu içindeki yerlerine yerleştirilecektir.
```
// Veritabanına bağlanma$mysqli = new mysqli($host, $user, $pass, $dbname);
// Hata kontrolüif ($mysqli->connect_error) { die("Bağlantı hatası: " . $mysqli->connect_error);}
// Sorgu hazırlama$stmt = $mysqli->prepare("INSERT INTO myTable (column1, column2, column3) VALUES (?, ?, ?)");
// Sorgu parametrelerinin belirlenmesi$stmt->bind_param("sss", $var1, $var2, $var3);
// Değişkenlerin atanması$var1 = "Değer 1";$var2 = "Değer 2";$var3 = "Değer 3";
// Sorgunun çalıştırılması$stmt->execute();
// Bağlantı kapatma$stmt->close();$mysqli->close();?>```
Yukarıdaki örnekte, "myTable" adlı tabloya "column1", "column2" ve "column3" adlı sütunlara "Değer 1", "Değer 2" ve "Değer 3" değerleri eklenmektedir. Sorgumuz, prepare () fonksiyonu ile hazırlanmış ve bind_param () fonksiyonu ile sorgunun yer tutucularına (soru işaretleri) değerler atanmıştır. Ardından, execute () fonksiyonu ile sorgu çalıştırılmış ve son olarak bağlantı kapatılmıştır.
Prepared statements kullanımı, veritabanı işlemlerinde güvenlik açığı oluşmasını engellemek için oldukça önemlidir. Bu yöntem sayesinde, sorgulara kullanıcı verileri gönderilirken, bu verilerin otomatik olarak veri tarayıcıları tarafından yorumlanması engellenir. Sonuç olarak, prepared statements kullanımı, veritabanına yapılan işlemleri daha güvenli hale getirir.
PostgreSQL Veritabanına Veri Ekleme
Bir web uygulaması geliştirirken, kullanıcıların paylaştığı bilgileri saklamak için bir veritabanına ihtiyacınız olacaktır. Bu makale, PHP ve PostgreSQL kullanarak bir veritabanına nasıl veri ekleyeceğinizi anlatmaktadır.
PostgreSQL, birçok özellik ve yeteneği açısından gelişmiş bir veritabanı yönetim sistemi olarak kabul edilmektedir. PHP ile PostgreSQL arasındaki entegrasyon oldukça kolaydır, bu nedenle web uygulamaları geliştirirken PostgreSQL'i tercih etmek oldukça avantajlıdır.
PostgreSQL'e veri eklemek için pg_query()
fonksiyonu kullanılabilir. Bu fonksiyon, SQL sorgularını veritabanına gönderir ve işlemin başarı durumunu belirtmek için bir boolean değer döndürür.
Veri eklemek için öncelikle bir SQL sorgusu yazmalısınız. Örneğin, "books" adlı bir tabloya yeni bir kitap eklemek için aşağıdaki sorguyu kullanabilirsiniz:
INSERT INTO books (title, author, year_published)VALUES ('The Great Gatsby', 'F. Scott Fitzgerald', 1925);
Şimdi, bu sorguyu pg_query()
fonksiyonuyla birlikte kullanarak PostgreSQL veritabanına veri ekleyebilirsiniz.
$result = pg_query($dbconn, "INSERT INTO books (title, author, year_published) VALUES ('The Great Gatsby', 'F. Scott Fitzgerald', 1925)");if (!$result) { echo "Veri eklenirken hata oluştu.\n"; exit;} else { echo "Veri başarıyla eklendi.\n";}
Kodda "$dbconn", PostgreSQL sunucusuna bağlanmak için kullanılan bir bağlantı nesnesidir. Bu nesneyi önceden oluşturmanız gerektiğini unutmayın.
Prepared statements, PostgreSQL veritabanına veri eklemek için daha güvenli bir yöntemdir. Bu, kullanıcı girdilerinin SQL enjeksiyon saldırılarına karşı korunmasına yardımcı olur.
Verileri eklemek için öncelikle bir SQL sorgusu oluşturmanız gerekir. Daha sonra, bu sorguyu pg_prepare()
ve pg_execute()
fonksiyonları kullanarak veritabanına gönderebilirsiniz.
$stmt = pg_prepare($conn, "insert_book", 'INSERT INTO books (title, author, year_published) VALUES ($1, $2, $3)');$title = "The Great Gatsby";$author = "F. Scott Fitzgerald";$year_published = 1925;$stmt_result = pg_execute($conn, "insert_book", array($title, $author, $year_published));if (!$stmt_result) { echo "Veri eklenirken hata oluştu.\n"; exit;} else { echo "Veri başarıyla eklendi.\n";}
Kodda, öncelikle pg_prepare()
fonksiyonu kullanılarak bir sorgu hazırlanır. Daha sonra, pg_execute()
fonksiyonuyla hazırlanan sorguya verileri eklemek için önceden tanımlanmış değişkenler kullanılır.
Sonuç olarak, PostgreSQL veritabanına veri eklemek için pg_query()
fonksiyonu veya prepared statements kullanabilirsiniz. Her iki yöntem de güvenlidir, ancak prepared statements SQL enjeksiyon saldırılarına daha iyi dayanıklıdır.
pg_query () Fonksiyonu Kullanarak Veri Ekleme
PostgreSQL veritabanına veri eklemek, PHP ile kolayca yapılabilir. Bunun için, pg_query() fonksiyonu kullanılabilir, bu fonksiyon PostgreSQL veritabanına sorgu göndermek için kullanılır. pg_query() fonksiyonu, SQL sorgusu çalıştırır ve sonuçlarını geri döndürür veya bir hata oluşursa false değerini döndürür.
pg_query() fonksiyonu, sorguyu alıp veritabanında çalıştırır ve sonuçları geri döndürür. Bu fonksiyonun kullanımı oldukça kolaydır ve bunun için sadece birkaç adım izlenmesi gerekmektedir. İlk olarak, pg_connect() fonksiyonu kullanılarak veritabanı bağlantısı yapılmalıdır. Ardından, pg_query() fonksiyonu kullanılarak sorgu gönderilmelidir. Aşağıda, PostgreSQL veritabanına veri ekleme işlemini gerçekleştirmek için pg_query() fonksiyonunu kullanarak basit bir örnek verilmiştir.
$conn = pg_connect("host=localhost port=5432 dbname=mydatabase user=myusername password=mypassword");$insert_query = "INSERT INTO users (name, surname, email) VALUES ('John', 'Doe', 'johndoe@example.com')";$result = pg_query($conn, $insert_query);if($result) { echo "Veri başarıyla eklendi!";} else { echo "Hata oluştu!";}
Örnekte, veriler "users" isimli bir tabloya eklendi. pg_query() fonksiyonu geriye bir değer döndürür, bu değer eğer veri eklendiyse true, aksi takdirde false değerini döndürür. Bu değeri kullanarak ekleme işleminin başarılı olup olmadığını kontrol edebilirsiniz.
pg_query() fonksiyonunun başka bir kullanımı da, sorgulardan etkilenen satır sayısını döndürmek için kullanılabilir. Bu durumda, pg_affected_rows() fonksiyonu kullanılarak sorgudan etkilenen satır sayısı alınabilir. Bu çoklu ekleme işlemleri için oldukça faydalıdır.
Sonuç olarak, PostgreSQL veritabanına veri ekleme işlemi, pg_query() fonksiyonu sayesinde oldukça kolay ve hızlı bir şekilde gerçekleştirilebilir. Fonksiyonun çalışması için doğru bir şekilde kullanılması gereken parametreler ve sorgu yapısı dikkatle incelenmelidir.
Örnek Kod: pg_query () Fonksiyonu ile Veri Ekleme
Aşağıdaki örnek, PostgreSQL veritabanına veri eklemek için pg_query () fonksiyonunu kullanarak nasıl yapılacağına dair bir örnek göstermektedir. Bu işlem, PostgreSQL veritabanında yeni bir kayıt oluşturmak için kullanılabilir.Bir önceki örnekte kullanılan "users" tablosunda önceki kayıtlara yeni bir kullanıcı ekleyelim. Bu örnekte, "pg_query()" fonksiyonunu kullanarak bir SQL sorgusu oluşturacağız ve bu sorguyu PostgreSQL veritabanına göndereceğiz.
Aşağıdaki örnek kodu kullanarak, "users" tablosuna yeni bir kullanıcı ekleyelim:
$conn = pg_connect("host=localhost dbname=mydatabase user=postgres password=mypassword"); $fname = "John"; $lname = "Doe"; $email = "john.doe@example.com"; $query = "INSERT INTO users (first_name, last_name, email) VALUES ('$fname', '$lname', '$email')"; $result = pg_query($query); if(!$result){ echo "Veri eklemede hata oluştu."; }else{ echo "Kullanıcı başarıyla eklendi."; } pg_close($conn);
- İlk olarak, "pg_connect()" fonksiyonunu kullanarak PostgreSQL veritabanına bağlanırız.
- Ardından, kullanıcı verilerini değişkenlere atarız; bu örnekte, adı, soyadı ve e-posta adresi değişkenlere aktarılır.
- Sonra, "INSERT INTO" ifadesini kullanarak "users" tablosuna yeni bir kayıt ekleriz.
- "pg_query()" fonksiyonunu kullanarak sorguyu PostgreSQL veritabanına göndeririz.
- Sorgu başarılı bir şekilde tamamlandıysa, kullanıcıya "Kullanıcı başarıyla eklendi." mesajı gösterilir.
- Sorgu başarısız olursa, kullanıcıya "Veri eklemede hata oluştu." mesajı gösterilir.
- Son olarak, "pg_close()" fonksiyonunu kullanarak PostgreSQL veritabanı bağlantısını sonlandırırız.
Prepared Statements Kullanarak Veri Ekleme
Prepared statements, programlama dillerinde önemli bir yer tutar. Özellikle, kullanıcı tarafından girilen verilerin güvenli bir şekilde veritabanına eklenmesi sağlanırken hata raporları da kolayca elde edilebilir. PostgreSQL veritabanı için de benzer bir işlem yapılabilir.
Prepared statements kullanarak veri ekleme işlemi, birkaç adımda gerçekleştirilebilir. İlk olarak, veritabanı bağlantısı oluşturulmalıdır. Daha sonra, hazırlanan sorgu cümlesi parametrelere bağlanmalıdır. Son adımda ise, parametre değerleri atanarak sorgu çalıştırılmalıdır.
Öncelikle, veritabanı bağlantısı kurulmalıdır. Aşağıdaki örnekte, php ile PostgreSQL veritabanına bağlanmak için kullanılan kod bloğu gösterilmiştir:
```php$conn = pg_connect("host=hostname dbname=mydatabase user=username password=mypassword");```
Daha sonra, hazırlanan sorgu cümlesi parametrelere bağlanmalıdır. Bu işlem için, pg_prepare () fonksiyonu kullanılır. Aşağıdaki örnekte, verileri eklemek için hazırlanan sorgu cümlesi ve pg_prepare () fonksiyonunun kullanımı görülmektedir:
```php$veri_ekle_query = "INSERT INTO kullanici (kullanici_adi, sifre) VALUES ($1, $2)";pg_prepare($conn, "veri_ekle", $veri_ekle_query);```
Son olarak, parametre değerleri atanarak sorgu çalıştırılmalıdır. Bu amaçla, pg_execute () fonksiyonu kullanılır. Aşağıdaki örnekte, parametre değerleri atanarak hazırlanan sorgu çalıştırılmaktadır:
```php$kullanici_adi = 'ornek_kullanici';$sifre = 'sifrem123';pg_execute($conn, "veri_ekle", array($kullanici_adi, $sifre));```
Bu şekilde, prepared statements kullanarak PostgreSQL veritabanına veri eklemeyi öğrenebilirsiniz. Böylece, veri güvenliğinin sağlanması amaçlanırken, hata raporlamaları da kolayca yapılabilir.
Örnek Kod: Prepared Statements ile Veri Ekleme
Bu örnek kodda, prepared statements ile PostgreSQL veritabanına veri ekleme işlemi gösterilmiştir. İlk olarak, bir bağlantı kurulur ve ardından veri eklemek için bir sorgu hazırlanır.
// Veritabanına bağlanmak için gerekli olan bilgiler$host = "localhost";$username = "kullanici_adi";$password = "sifre";$dbname = "veritabani_adi";// Veritabanına bağlantı kuruluyor$conn = new PDO("pgsql:host=$host;dbname=$dbname", $username, $password);
// Veri ekleme için hazırlanan sorgu$sql = "INSERT INTO ogrenciler (ogrenci_adi, sinif, bolum) VALUES (:ogrenci_adi, :sinif, :bolum)";
// Sorgu hazırlanıyor$stmt = $conn->prepare($sql);
// Değişkenler atanıyor$ogrenci_adi = "Ahmet Yılmaz";$sinif = "11";$bolum = "Fizik";
// Değişkenler, sorguya bağlanıyor$stmt->bindParam(':ogrenci_adi', $ogrenci_adi);$stmt->bindParam(':sinif', $sinif);$stmt->bindParam(':bolum', $bolum);
// Sorgu çalıştırılıyor$stmt->execute();
// Veritabanı bağlantısı kapatılıyor$conn = null;
Yukarıda verilen örnek kodda, "ogrenciler" tablosuna "Ahmet Yılmaz" adlı öğrencinin, "11" numaralı sınıfta "Fizik" bölümünde kaydı eklenmektedir.
Prepared statements kullanmanın faydalarından biri, SQL enjeksiyonu saldırılarına karşı daha güvenli olmasıdır. Ayrıca, SQL sorgularının tekrar kullanımını da kolaylaştırır ve performansı arttırır.
Bu örnekte PostgreSQL kullanılmış olsa da, prepared statements teknolojisi farklı veritabanı sistemlerinde de kullanılabilir ve büyük bir memnuniyetle karşılanmaktadır.