• Sonuç bulunamadı

MySQL veritabanı ile işlemler

N/A
N/A
Protected

Academic year: 2021

Share "MySQL veritabanı ile işlemler"

Copied!
8
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Ankara Üniversitesi

Nallıhan Meslek Yüksekokulu

MySQL veritabanı ile işlemler

NB P238 İL E R I W E B PR OGR AML AMA ÖĞR . GÖR . DR . UFUK T ANYE R I

(2)

PHP MySQL Veri Ekleme

<?php

$sql = "INSERT INTO Personel (ad, soyad, eposta) VALUES ('Taner', 'Dindar', 'tdindar@ankara.edu.tr')";

if (mysqli_query($conn, $sql)) {

echo "Yeni kayıt başarılı bir şekilde eklendi";

} else {

echo "Hata: " . $sql . "<br>" . mysqli_error($conn);

}

?>

(3)

PHP MySQL Son Eklenen Kimliği Alma İşlemi

<?php

$sql = "INSERT INTO Personel (ad, soyad, eposta) VALUES ('Furkan', ‘Koçak', 'nfkocak@ankara.edu.tr')";

if (mysqli_query($conn, $sql)) {

$last_id = mysqli_insert_id($conn);

echo "Yeni kayıt başarıyla oluşturuldu. Son eklenen kimlik:" . $last_id;

} else {

echo "Hata: " . $sql . "<br>" . mysqli_error($conn);

}

(4)

PHP MySQL Birden Çok Kayıt Ekleme

<?php

$sql = "INSERT INTO Personel (ad, soyad, eposta)

VALUES ('Bahadır', 'Gönenç', 'bgonenc@ankara.edu.tr');";

$sql .= "INSERT INTO Personel (ad, soyad, eposta)

VALUES ('Mahmut', 'Kılıçaslan', 'm.kilicaslan@ankara.edu.tr');";

$sql .= "INSERT INTO Personel (ad, soyad, eposta)

VALUES ('Salih', 'Erdurucan', 'salih.erdurucan@ankara.edu.tr')";

if (mysqli_multi_query($conn, $sql)) { echo "Yeni kayıtlar başarıyla oluşturuldu"; } else { echo "Hata: " . $sql . "<br>" . mysqli_error($conn); }

?>

(5)

PHP MySQL Hazır İfadeler

Hazır ifadeler SQL enjeksiyonlarına karşı çok faydalıdır.

Hazır İfadeler ve Bağlı Parametreler

Hazır bir ifade, aynı (veya benzer) SQL deyimlerini yüksek verimlilikle tekrar tekrar yürütmek için kullanılan bir özelliktir.

Hazır ifadeler temel olarak şu şekilde çalışır:

- Hazırla: Bir SQL deyimi şablonu oluşturulur ve veritabanına gönderilir. Parametreler ("?" Etiketli) olarak adlandırılan belirli değerler belirtilmemiş olarak bırakılır. Örnek: INSERT INTO Personel VALUES(?, ?, ?) - Veritabanı, SQL deyimi şablonunda sorgu optimizasyonunu ayrıştırır, derler ve gerçekleştirir ve sonucu yürütmeden saklar

- Yürüt: Daha sonra uygulama değerleri parametrelere bağlar ve veritabanı ifadeyi yürütür. Uygulama, ifadeyi

(6)

PHP MySQL Hazır İfadeler

SQL ifadelerinin doğrudan çalıştırılmasıyla karşılaştırıldığında, hazır ifadelerin üç ana avantajı vardır:

- Hazır ifadeler, sorgudaki hazırlık yalnızca bir kez yapıldığından ayrıştırma süresini azaltır (ifade birden çok kez çalıştırılmasına rağmen)

- Bağlı parametreler, tüm sorguyu değil, her seferinde yalnızca parametreleri göndermeniz gerektiğinden sunucuya bant genişliğini en aza indirir

- Hazır ifadeler SQL enjeksiyonlarına karşı çok faydalıdır, çünkü daha sonra farklı bir protokol

kullanılarak iletilen parametre değerlerinin doğru bir şekilde kaçmasına gerek yoktur. Özgün

ifade şablonu harici girdiden türetilmemişse, SQL yerleştirme yapılamaz.

(7)

Hazır ifadeler için örnek uygulama

Aşağıdaki link MySQLi ve PDO’da hazırlanmış ifadeleri ve ilişkili parametreleri kullanır:

https://www.w3schools.com/php/php_mysql_prepared_statements.asp

(8)

Kaynaklar

[1] (n.d.). Retrieved from https://www.w3schools.com/php/php_mysql_insert.asp

[2] (n.d.). Retrieved from https://www.w3schools.com/php/php_mysql_insert_lastid.asp [3] (n.d.). Retrieved from https://www.w3schools.com/php/php_mysql_insert_multiple.asp

[4] (n.d.). Retrieved from https://www.w3schools.com/php/php_mysql_prepared_statements.asp

Referanslar

Benzer Belgeler

Lhermitte-Duclos disease is a rare disorder of unknown pathogenesis, characterized by typical magnetic resonance imaging findings.. Lhermitte-Duclos disease can be associated

nitelikleri olabilir, ancak veri modellemede, gerçek dünyanın soyut bir modeli oluşturulduğu için, bu niteliklerin yalnız küçük bir kısmı, uygulamalar için.. gerekli

Şimdide bu iki tabloyu ilişkilendirmek için 1 lik tablonun birincil anahtarını n lik tabloya yabancı anahtar olarak

 Bir bölümde birden fazla proje geliştirilmektedir ancak, her proje sadece bir bölüm tarafından gerçekleştirilebilinir.... Kavramsal, Mantıksal ve Fiziksel

Bölüm Formunda öncelikle verileri veri tabanından alıp list view de gösterme işlemlerini yapalım.. Veri tabanı bağlantı işlemi için

MySQL, hem büyük veri hem de son kullanıcıların (Facebook, Twitter ve Wikipedia gibi) büyük hacimli web siteleri için fiili standart veritabanı sistemidir.. MySQL ile ilgili

ORDER BY deyimi, sonuç kümesini artan veya azalan düzende sıralamak için kullanılır. ORDER BY deyimi, kayıtları varsayılan olarak artan

LIMIT deyimi, çok sayfalı sonuçları veya sayfalandırmayı SQL ile kodlamayı kolaylaştırır ve büyük tablolarda çok kullanışlıdır. Çok sayıda kaydın