Bu yazımızda sql veritabanından “select” komutuyla seçtiğimiz bilgileri tablo halinde bir php sayfada göstereceğiz.

“Select”, sql veritabanından bilgi almak için kullanılan bir komuttur.

SELECT sutun_adi
FROM tablo_adi


Yukardaki komut ile belirtilen tablo adından ilgili sütıunda yer alan bilgiler seçilebilir. Bu komutu php sayfada çalıştırabilmemiz için mysql_query() fonksiyonunu kullanmamız gerekecektir.

Aşağıdaki örnek kodumuzda “liste” isimli tablodan “*” (yıldız) ile tüm sütunları seçiyoruz. Kullanılan html kodlarla verileri tablo halinde gösteriyoruz.

<?php
$con = mysql_connect("localhost","kullanici","parola");
if (!$con)
{
die('Bağlantı sağlanamadı: ' . mysql_error());
}

mysql_select_db("deneme", $con);

$result = mysql_query("SELECT * FROM liste");

echo "<table border='1'>
<tr>
<th>Ad</th>
<th>Soyad</th>
<th>İngilizce</th>
</tr>"; while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['ad'] . "</td>";
echo "<td>" . $row['soyad'] . "</td>";
echo "<td>" . $row['ingilizce'] . "</td>";
echo "</tr>";
}
echo "</table>"; mysql_close($con);
?>


Yukarıdaki kodu kısaca açıklamak gerekirse, mysql_connect() fonksiyonu ile veritabanına bağlanılıyor, mysql_select_db() ile veritabanı seçiliyor, mysql_query() ile sql komutu olan “select” çalıştırılıyor, “echo” ile html kodlardan istifade ederek tablo yapısı ve $row ile hangi dizilerin gösterileceği belirleniyor. Sayfa çalıştırıldığında bilgiler tablo halinde görünecektir.

İlyas Canbay (www.ilyascanbay.com)

Bu yazımızda html formu kullanarak bir sql veritabanına veri eklemeyi göreceğiz.

Aşağıda html sayfamızda bulunması gereken kod yer almaktadır.

<html>
<body>
<html>
<body><form action="veri_ekle.php" method="post">
Ad: <input type="text" name="ad" />
Soyad: <input type="text" name="soyad" />
Sınıf: <input type="text" name="sinif" />
<input type="submit" />
</form></body>
</html>
</body>
</html>


Bu kod üzerinde istediğiniz değişikliği yapabilirsiniz. Mesela aşağıda Frontpage yardımıyla kutulara girilecek karakter türünü ve uzunluğunu belirlemek mümkündür. Eğer html formunda belirttiğimiz ‘maxlength’ değerinden fazlası girilirse “sorguyu gönder” butonuna bastığımızda sayfa yenilenmeyecek ve karşımıza uyarı çıkacaktır. Bu kısım html ile alakalı olduğu için ekstra özellikler ve tasarım konusunda Frontpage veya Dreamweaver gibi çeşitli programlardan istifade edebilirsiniz.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-9">
<title>Veri Ekleme Formu</title>
</head>
<body>
<form action="veri_ekle.php" method="post" onsubmit="return FrontPage_Form1_Validator(this)"
language="JavaScript" name="FrontPage_Form1">
<br>Ad: <input type="text" name="ad" />
<br>Soyad: <input type="text" name="soyad" />
<br>Sınıf:&nbsp;&nbsp;&nbsp;
<!--webbot bot="Validation" s-data-type="Integer" s-number-separators="x"
b-value-required="TRUE" i-minimum-length="1" i-maximum-length="1" -->
<input type="text" name="sinif" size="1" tabindex="1" maxlength="1" />
<br>Türkçe:&nbsp;&nbsp;&nbsp;
<!--webbot bot="Validation" s-data-type="Integer" s-number-separators="x"
b-value-required="TRUE" i-minimum-length="1" i-maximum-length="3" -->
<input type="text" name="turkce" size="3" maxlength="3" />
<br>Matematik:&nbsp;&nbsp;&nbsp;
<!--webbot bot="Validation" s-data-type="Integer" s-number-separators="x"
b-value-required="TRUE" i-minimum-length="1" i-maximum-length="3" -->
<input type="text" name="matematik" size="3" maxlength="3" />
<br>Fen:&nbsp;&nbsp;&nbsp;
<!--webbot bot="Validation" s-data-type="Integer" s-number-separators="."
b-value-required="TRUE" i-minimum-length="1" i-maximum-length="3" -->
<input type="text" name="fen" size="3" maxlength="3" />
<br>Sosyal:&nbsp;&nbsp;&nbsp;
<!--webbot bot="Validation" s-data-type="Integer" s-number-separators="."
b-value-required="TRUE" i-minimum-length="1" i-maximum-length="3" -->
<input type="text" name="sosyal" size="3" maxlength="3" />
<br>İngilizce:&nbsp;&nbsp;&nbsp;
<!--webbot bot="Validation" s-data-type="Integer" s-number-separators="x"
b-value-required="TRUE" i-minimum-length="1" i-maximum-length="3" -->
<input type="text" name="ingilizce" size="3" maxlength="3" />
<br><input type="submit" />
</form>
</body>
</html>


Yukardaki sayfada bir kullanıcı, “gönder” butonuna tıkladığında forma girdiği bilgiler ‘veri_ekle.php’ isimli sayfaya gönderilecektir.

Tabi html formunun gönderdiği bilgileri almak üzere aynı dizinde ’veri_ekle.php’ isimli sayfamızı da oluşturmamız gerekir. Oluşturacağımız sayfada html formu içerisinde belirttiğimiz özel girdilerin sayısı ve özellikleri kadar gerekli bilgiler yer almalıdır. Bir üstteki html formuna göre şu bilgileri içeren örnek bir php sayfası oluşturabiliriz:

<?php
$con = mysql_connect("localhost","kullanici","parola");
if (!$con)
  {
  die('Bağlantı sağlanamadı: ' . mysql_error());
  }mysql_select_db("deneme", $con);
  $sql="INSERT INTO liste
  (ad, soyad, sinif, turkce, matematik, fen, sosyal, ingilizce)
VALUES ('$_POST[ad]','$_POST[soyad]','$_POST[sinif]',$_POST[turkce],
$_POST[matematik],$_POST[fen],$_POST[sosyal],$_POST[ingilizce])";
if (!mysql_query($sql,$con))
  {
  die('Hata: ' . mysql_error());
  }
echo "1 kayıt eklenmiştir.";
mysql_close($con)
?>


Kendisine gönderilen bilgileri alan ‘veri_ekle.php’ sayfası, mysql_connect() fonksiyonuyla mysql’e bağlanacak ve belirtilen bilgileri mysql_select_db() fonksiyonuyla veritabanına gönderecektir. PHP $_POST değişkenleriyle html sayfasından gönderilen bu bilgiler, esasında mysql_query() fonksiyonunda belirtilen ’insert into’ komutu işlenerek tabloya eklenecektir. Sorgu gönderildiğinde işlem başarıyla gerçekleşirse sayfamızda “1 kayıt eklenmiştir” şeklinde bir yazı görüntülenecektir.

Kaynak: İlyas Canbay (www.ilyascanbay.com)

Lütfen kaynak belirtmeden yayınlamayınız…

Bu yazıda bir sql veritabanına nasıl veri eklendiğini göreceğiz.

SQL üzerinden veri eklemek için INSERT INTO komutu kullanılır. INSERT INTO komutunu kullanabileceğimiz iki alternatif yöntem vardır.

INSERT INTO tablo_adi
VALUES (deger1, deger2, deger3)


Yukarıdaki komutta sütunlara yer verilmedi. Bir diğer alternatif komutta hem sütunlara hem de satırlara yer verebiliriz.
 

INSERT INTO table_adi (sutun1, sutun2, sutun3)
VALUES (deger1, deger2, deger3)

 
Bu komutu mysql_query() fonksiyonu ile PHP sayfalarda çalıştırabiliriz. Aşağıdaki örneğimde mysql_select_db() fonksiyonu ile “deneme” isimli veritabanıma bağlanıyorum. Daha sonra mysql_query() fonksiyonu ile “insert into” komutunu uygulayarak “liste” isimli tabloya (ad, soyad, sinif, turkce, matematik, fen, sosyal, ingilizce) isimli tablolara “values” kısmından sonra gelen değerleri sırasıyla ekliyorum.

<?php
// Veritabanı bağlantı komutu
$con = mysql_connect("localhost","kullanici","parola");
if (!$con)
  {
  die('Bağlantı sağlanamadı: ' . mysql_error());
  }mysql_select_db("deneme", $con);
  mysql_query("INSERT INTO liste
(ad, soyad, sinif, turkce, matematik, fen, sosyal, ingilizce)
values ('Mustafa', 'Demir', '6', '92', '81', '68', '90', '76')");
  mysql_query("INSERT INTO liste
(ad, soyad, sinif, turkce, matematik, fen, sosyal, ingilizce)
values ('Ahmet', 'Bilgin', '6', '63', '40', '42', '56', '44')");
if (mysql_query)
  {
  echo "Tabloya veriler eklendi.";
  }
  mysql_close($con);
?>


Yukardaki php kodu detaylı olarak inceleyelim.

Öncelikle mysql_connect() fonksiyonu ile “kullanici” isimli veritabanımıza “parola” ile bağlantı sağlıyoruz. Eğer bağlantı başarısız olursa “Bağlantı sağlanamadı: …” şeklinde bir uyarı alıyoruz. Eğer bağlantı başarılı olursa mysql_select_db() fonksiyonu ile “deneme” isimli veritabanımızı seçiyoruz. Daha sonra mysql_query() fonksiyonu ile bir sql komutu olan “insert into … () values ()” ifadesini giriyoruz ve “liste” isimli tablomuza belirttiğimiz verileri giriyoruz. Eğer sorgu başarılı olursa “Tabloya veriler eklendi” şeklinde bir uyarı bizi karşılıyor.

Ben yukardaki örneğimde liste isimli tabloda yer alan (ad, soyad, sinif, turkce, matematik, fen, sosyal, ingilizce) ismindeki sütunlara eşdeğer verileri girdim. Sonuç olarak karşıma şöyle bir tablo çıkacaktır:

ad

soyad

sinif

turkce

matematik

fen

sosyal

ingilizce

Mustafa

Demir

6

92

81

68

90

76

Ahmet

Bilgin

6

63

40

42

56

44


Bu şekilde istediğiniz kadar veri ekleyebilirsiniz. Ancak veri ekleme işlemini kodlarla değil de doğrudan HTML form kullanarak yapmak da mümkündür. HTML formu ile SQL veritabanına veri eklemek için “HTML formu kullanarak SQL’e veri ekleme” isimli konuyu okuyunuz.

İlyas Canbay (www.ilyascanbay.com)

Bu yazımızda php ile sql tablo oluşturma konusunu inceleyeceğiz.

Tablo oluşturmak için “create table” komutunu mysql_query() işlevi içerisinde belirtmemiz gerekir.

Normalde SQL’da şu komutu girerek tablo oluşturulmaktadır:

CRATE TABLE x
(y varchar(15),
z varchar(20));


Yukarıdaki komut ile “x” isminde bir tablo, “y” ve “z” isminde sütunlar oluşturuyoruz. X, y ve z yerine belirleyeceğiniz özel isimleri girebilirsiniz.

Bu komutu aynı zamanda PHP sayfalarda mysql_query() işleviyle çalıştırabilirsiniz.

$sql = "CREATE TABLE x
(y varchar(15),
z varchar(20))";
// Sorguyu çalıştırır
mysql_query($sql,$con);


Aşağıdaki örneğimde “liste” isminde bir tablo ve içerisinde ”ad, soyad, sinif, turkce, matematik, fen, sosyal, ingilizce” isminde sütunlar oluşturmak istiyorum.

<?php // Veritabanı bağlantı komutu
$con = mysql_connect("localhost","kullanici","parola");
if (!$con)
{
die('Bağlantı hatası: ' . mysql_error());
}
// Tablo oluşturma komutu
mysql_select_db("deneme", $con);
$sql = "CREATE TABLE liste
(ad varchar(15),
soyad varchar(20),
sinif varchar(10),
turkce varchar(3),
matematik varchar(3),
fen varchar(3),
sosyal varchar(3),
ingilizce varchar(3))";// Execute query
mysql_query($sql,$con);
if (mysql_query)
{
echo "Tablo oluşturma işlemleri başarıyla sağlandı.";
}
mysql_close($con);
?>


Bu kodu uyguladığımızda “liste” isminde tablomuz ve belirtilen sütunlar başarıyla oluşturulacaktır. Kod içerisinde yer alan varchar() için verilen rakamsal değerler girilecek metin veya sayıların en fazla kaç haneli olacağını belirtir. Zaten bunu uyguladığınızda her bir değerin ne anlama geldiğini zamanla fark edeceksiniz.

İlyas Canbay (www.ilyascanbay.com)

Bu yazımızda php üzerinden sql veritabanı oluşturma konusunu inceleyeceğiz.

Öncelikle php sayfalardan sql veritabanına bağlantı kurmamız gerekir.

mysql_connect(sunucu,kullancı,parola);


Yukardaki sıralamaya göre genellikle sunucu kısmına standart olarak ”localhost” yazmamız gerekir. Kullanıcı adı ve parola girildiğinde aşağıdaki kodu php sayfaya gömmemiz yeterli olacaktır. Bağlantıyı “$con” değişkeni ile sağlıyoruz; eğer bağlantı başarısız olursa ”die” komutu devreye girecektir.

<?php $con = mysql_connect("localhost","kullanici","parola");
if (!$con)
{
die('Bağlantı sorunu: ' . mysql_error());
}
// diğer kodlar ?>


Bağlantı sayfa bittiğinde otomatik olarak kapanacaktır. Ancak bağlantıyı kapatma fonksiyonunu isterseniz aşağıdaki şekilde ekleyebilirsiniz.

<?php $con = mysql_connect("localhost","kullanici","parola");
if (!$con)
  {
  die('Bağlantı sorunu: ' . mysql_error());
  }
// diğer kodlar
mysql_close($con);
?>


Bir veritabanına yukarıdaki kodları kullanarak bağlanabiliriz. Tabi “kullanıcı” ve “parola” yazan kısımlara doğru bilgileri girmeniz gerekir. Şimdi bir veritabanını nasıl oluşturacağımıza bakalım. MySQL’da aşağıdaki komutu girdiğimizde istediğimiz isimde veritabanı oluşturabiliriz.

CREATE DATABASE veritabanı_adı


Ancak burada önemli olan “Bu komutu php sayfalarda nasıl çalıştırırız?” sorusunun cevabıdır. Sayfamızda sql sorgusunu çalıştırmak için mysql_query() işlevinden istifade edebiliriz. Aşağıdaki kodu kullanarak “deneme” isminde bir veritabanı oluşturalım.

<?php
$con = mysql_connect("localhost","kullanici","parola");
if (!$con)
  {
  die('Bağlantı sorunu: ' . mysql_error());
  }if (mysql_query("CREATE DATABASE deneme",$con))
  {
  echo "Veritabanı oluşturuldu.";
  }
else
  {
  echo "Veritabanı oluştururken hata oluştu: " . mysql_error();
  }mysql_close($con);
  ?>


Yukarıda görüldüğü gibi önce “$con” değişkeniyle bağlantıyı sağlıyoruz; “if (!$con)” ile bağlantı sorunu çıktığında bildirilmesini istiyoruz. “if (mysql_query(“CREATE DATABASE deneme”,$con))” satırı ile “deneme” isminde bir adet veritabanı oluşturuyoruz. Veritabanı oluşturma işlemi başarıyla sağlandığında karşımıza “Veritabanı oluşturuldu.” şeklinde bir uyarı çıkacaktır.

İlyas Canbay (www.ilyascanbay.com)

SQL (Structured Query Language), Türkçede ‘Yapılandırılmış Sorgu Dili’ veya ‘Veritabanı Sorgu Dili’ şeklinde ifade edilebilir. SQL, ‘es-qu-el’ şeklinde okunur; veri ekleme, güncelleme, silme işlemleri için kullanılan özel bir dildir. SQL, aynı zamanda ISO (Uluslararası Standartlar Enstitüsü) ve ANSI (Amerikan Standartlar Enstitüsü) standartlarına sahip veritabanı sorgulama dilidir. MySQL, Oracle, Microsoft SQL Server gibi çok sayıda ürün SQL ile uyumludur.

Diğer taraftan MySQL ise temeli SQL’e dayanan bir tür veritabanı yönetim sistemidir. MySQL, aldığı verileri tablolardan teşekkül eden veritabanlarında saklar. Tablolar ise sütun ve satırlardan oluşan yapılardır. MySQL, günümüzde en çok kullanılan veritabanı yönetim sistemlerindendir. Adobe, Facebook, Netlog, Flickr, YouTube, Symantec, Sony, Dell, Nokia, Motorola ve Intel gibi çok sayıda kuruluş MySQL’i tercih etmektedir. MySQL, aynı zamanda Microsoft Windows, Linux, CentOS, FreeBSD, Mac Os ve OpenBSD gibi çok sayıda işletim sisteminde kullanılabilmektedir. Microsoft Windows veya Vista üzerinde MySQL sunucu çalıştırmak isterseniz, içerisinde Apache, phpMyAdmin ve PHP’nin son sürümünü de barındıran XAMPP isimli yazılımdan istifade edebilirsiniz. XAMPP’ı Windows Vista ile kullanabilmek için Kullanıcı Hesabı Denetimi (UAC)’ı denetim masasında kullanıcı hesapları kısmından kapatmanız gerekir.

İlyas Canbay (www.ilyascanbay.com)