Php ile Veritabanı (Mysql) İşlemleri

Veritabanları websitelerinin vazgeçilmez öğeleridir. Bu yazıda php ile programladığınız bir sitede mysql veritabanında işlemleri nasıl yapabileceğinizi anlatacağım. Ana başlıklar :

  • Veritabanına bağlanma
  • Veritabanı seçme
  • Yeni kayıt girme
  • Kayıtları ekrana yazma
  • Kayıt silme
  • Varolan bir kaydı güncelleme
  • Bağlantıyı kesme

Veritabanımızın şu şekilde yaratalım

CREATE TABLE `uyeler` (
`no` int(11) NOT NULL auto_increment,
`ad` varchar(30) NOT NULL default '',
`soyad` varchar(30) NOT NULL default '',
PRIMARY KEY (`no`));

İşlemlerimiz aşağıdaki gibidir.

//BAĞLANTI
$kullaniciadi="yakuter";
$sifre= "yakutersifre";
$host="localhost";
$veritabani="yakuterdb";

//VERİTABANI SEÇME
$baglan=mysql_connect($host,$kullaniciadi,$sifre);
mysql_select_db($veritabani,$baglan);

//VERİLER
$isim="Erhan";
$soyisim="Yakut";

//YENİ KAYIT GİRME
$sql="insert into uyeler (no, ad, soyad) values ('', '$isim','$soyisim')";
mysql_query("$sql");

//KAYITALRI EKRANA YAZMA
$sql="select * from uyeler";
$sorgu=mysql_query("$sql");
while ($sonuc=mysql_fetch_array($sorgu)){
echo "No = $sonuc[0]
İsim = $sonuc[1]
Soyisim = $sonuc[2]";}

//KAYIT SİLME
$sql="delete from uyeler where ad='Erhan'";
mysql_query("$sql");

//KAYIT GÜNCELLEME
$sql="update uyeler set ad='Yakut', soyad='Erhan' where ad='Erhan' ";
mysql_query("$sql");

//BAĞLANTIYI KESME
mysql_close($baglan);

Bahsetmediğim bir konu var. O da eğer işlem gerçekleştiyse başarılı olduğunu bize bildirmesi. Bunu şu şekilde gerçekleştirebilirsiniz.

mysql_query("$sql");

yerine

$islem=mysql_query("$sql");
if ($islem) { echo "islem yapıldı"; }
else { echo "islem başarısız"; }

yazabilirsiniz.

Burada size veritabanı işlemlerini en basit şekliyle anlatmaya çalıştım. Lütfen çok bilmişlik yapıp burası böyle daha doğru olur demeyin :) Şimdiden söyliyeyim evet orası öyle daha iyi olur ama burada sadece temeli anlattım :)

Bol veritabanlı günler…

Benzer Yazılar

yakuter

Erhan Yakut

www.yakuter.com

Genç yaşlarda programlama ile tanıştı ve Delphi ile başladığı programlama macerasına şuanda PHP, SQL, Javascript, AJAX, CSS, XHTML teknolojileri ile devam etmektedir. Elektrik - Elektronik bölümü mezunu olan "yakuter" 2006 yılından itibaren yakuter.com'un yazarlığını yapmaya başlamıştır.

Bu Yazıya Ait Yorumlar

Nursin Şaşmaz

Nursin Şaşmaz
10 Ekim 2007

Aradığım kaynakların içinden en açık ve basit olan, hiç bir bilgisi olmayan bir kullanıcı için diğer kaynaklarıma nazaran daha etkili…

Ahmet USTA

Ahmet USTA
20 Ekim 2007

Bir ders bu kadar basit ve anaşılabilir anlatılabilir.Tebrikler ve de teşekkürler.

ulaş

ulaş
24 Kasım 2007

Teşekkürler hazır olarak bu şekilde bulunması ve deneyimsiz kullanıcılar için nu kadar basit anlatılması çok güzel.

Halil

Halil
23 Aralık 2007

Bağlantıyı yaratırken html mi yoksa php’mi kullanacaz bu konuda bi cümle yazarsan sevinirim. Çok güzel anlatmışsın eline sağlık

yakuter

yakuter
25 Aralık 2007

Tabi ki php dosyası kullanacaksın. Konu da zaten Php ile bağlanma ;)

varna

varna
04 Ocak 2008

yani demek istedigim cpanel gibi bir yerden once tablolari yaratip, sonra php mizden mi yonetecegiz?

yakuter

yakuter
04 Ocak 2008

aynen dediğin gibi önce yönetmek için elinde veritabanı ve tablolar olması gerekli ;)

bora

bora
24 Nisan 2008

ben bunu form olarak yapmak istiyorum ama yapamadım bi türlü.

Girişleri input type ile girip veritabanına gönderme olayı yani.
sonrada bunu listeleme
yardımcı olursanız sevinirim

Murat

Murat
13 Haziran 2008

Teşekkürler Elinize Sağlık Çok işime Yaradı..

Emre

Emre
26 Ocak 2009

çok güzel bi paylaşım olmuş teşekkürler

Tarık

Tarık
01 Şubat 2009

Kodda “(id,” kısmı “no,” diye değiştirilmeli yukarda öyle tanımlamıştık çünkü. gerçekten çok faydalı bir ders, teşekkürler.

yakuter

yakuter
03 Şubat 2009

Evet, gözümden kaçmış. Teşekkür ederim ;)

hulya aydemir giresun bulancak

hulya aydemir giresun bulancak
01 Nisan 2009

gercekten işime yaradı tsk ederim cok saolun

ogulcan

ogulcan
04 Nisan 2009

Bunları html e bağlamak lazım ve hepsine ayrı bir dosya açmak lazım değil mi?
yane
kayıul silme delete.php
kayıt etmek register.php gibi

yakuter

yakuter
05 Nisan 2009

Hepsini bir dosyada yapabilirsiniz. Tercih size kalmış ama gördüğüm kadarıyla bu konuda biraz daha araştırmanız lazım. Öyleki normalden önce bu konuya dalarsanız bazı sorularınıza yanıt bulamayabilirsiniz.

ruytoc

ruytoc
19 Ağustos 2009

dostum burdaki mesela mysql da bir değer verdik ve bu değer 1 olunca içeriği onayla sitede yayınla ancak 0 olursa yayınlama diyeceğz bunu adminden yönetmeli olarak nasıl yapacağız?

mehmet emin

mehmet emin
06 Eylül 2009

gerçekten yararlı bir kaynak olarak kullanılabilir iyi bir anlatım yapmışsın tebrik ederim

Murat

Murat
28 Ekim 2009

süper bir paylaşım olmuş tebrik ediyorum .

ismail

ismail
30 Kasım 2009

mysql_query(“$sql”);
Bu bölümde küçük bir hata var gibi geldi bana. Tırnak içinde değişken Php’de çalışıyor mu?

Mantık olarak çalışmaması lazım.
mysql_query($sql); bu daha doğru değil mi?

yakuter

yakuter
02 Aralık 2009

Benim yazdığım şekilde de çalışır fakat doğru olanı söylediğin gibi tırnaksız olanıdır ;)

serhan

serhan
06 Ocak 2010

while ($sonuc=mysql_fetch_array($sorgu)){ bu satır hata verdi :S

Mehmet Keçelioğlu

Mehmet Keçelioğlu
22 Mart 2010

Gerçekten mükemmel olmuş daha iyi anlatılamazdı.
Konu biraz eskiymiş fakat konu konudur önemli olan kullanıcıyı bilgilendirmesi.
Saygılarımla…

Yücel Koçyiğit

Yücel Koçyiğit
01 Haziran 2010

Tam aradığım açıklamaydı.
Teşekkür ederim.
İyi çalışmalar dilerim.

ArifDeniz

ArifDeniz
30 Haziran 2010

Allah razı olsun ya 2 haftadır veri tabanına bağlantı yapamamıştım 100lerce site gezdim şu an ekliyom siliyom listeliyom…

irfan

irfan
06 Temmuz 2010

Mrb. çok güzel bir anlatım. Bir konuda yardım istekli bir iletişim formu dodurdum. ilgilenirseniz sevinirim Erhan Bey.

yakuter

yakuter
06 Temmuz 2010

Teşekkür ederim İrfan Bey fakat iletişim formunda da yazdığım gibi kişisel yardımda bulunmuyorum.

Sayit

Sayit
21 Temmuz 2010

ALLAH RAZI OLSUN ÜSTADIM. Bu kadar sade ve güzel anlatılabilir. Altta yazdığına dikkat edip böle olsa güzel olur tarzı mesajları gördüm diğer yazılarındada cidden daha çok bilen varsa fikrini sölesin sadece eleştirel bi konu açılmamış bizim gibi öğrenmek isteyenlere yardım amaçlı açılmış beğenmeyen kendi anlatsın.

Tolga

Tolga
31 Temmuz 2010

from oluşturarak get methoduyla gönder hem elinlede yaparak mantığını iyice kavrayabilirsin.

Tolga

Tolga
31 Temmuz 2010

Birde arkadaşlar bence k.adi ve şifreyi değişkene atmadan yaparsanız kafanız daha az karışır bence gerek yok direk $baglan=mysql_connect("hostadı","kullanici adi"i,"şifre");
olarakta kullanabilirsiniz teşekkürler.

boranjudge

boranjudge
11 Ağustos 2010

Merhaba 1,2,3,4,5 numaralar benim görünmesini istemediğim id numaralarım, no alanı ise id'leri temsil ediyor, o idlere ait alanların tümünü nasıl görünmez kılabilir, diğer bir değimle belirttiğim id numaraları dışında kalan kayıtları sadece görüntüleyebilirim.

Sql sorgum üzerinde gösterirseniz sevinirim.

Sql sorgum;

$sql="SELECT * FROM ".TABLO." $kosul ORDER BY no $listele LIMIT $b,".LIMIT;

cengizhan

cengizhan
19 Ekim 2010

Kardeşim , çok açıklayıcı ve açık olmuş. Eline sağlık

Gökay

Gökay
16 Kasım 2010

Çok güzel bi anlatımdı teşşekür ederim iyi bayramlar dilerim…

wortex

wortex
24 Aralık 2010

merhaba. ben ekleme işlemi yaptığım zaman 2 kere ekliyor kayıdı. ekleme, listeleme ve veritabanı baglantı kodları ayrı sayfalarda. hicbir problem yok hata vermiyor ancak aynı kaydı 2 kere ekliyor bu neden olur?

wortex

wortex
24 Aralık 2010

yazdığım sql sorgusunu bir alt satırda mysql_query komutuyla beraber $sorgu değişkenine aktardığım için tekrar ekliyormuş. sorun halloldu, böyle bi dalgınlık yapıp da çözüm arayan olur diye yazayım dedim. :)

döküman için de teşekkürler Erhan

onder

onder
09 Şubat 2011

bu tarz işlemler için en hızlı performans sağlama konusunda nasıl bir kullanım yardımcı olur yada ezSQL sınıfını mı önerirsiniz ?

burak

burak
15 Şubat 2011

bu değerli bilgiler için çok teşekkür ederim gerçekten çok faydalı.Yalnız üzerinde çalıştığım bir projeyle ilgili mantık danışmak istiyorum index sayfam ekrana yazdırıcağım resimleri yönetim panelinden yüklüyorum ama mysql e kayıt edip ordan okumakmı daha mantıklı yahut klasör içinden okumakmı bilgilendirmeniz için şimdiden teşekkürler başarılarınızın devamını dilerim

yahya

yahya
05 Mart 2011

wortex e teşekkür ediyorum sorusu ve cevabı için… Aynı sorunla bende karşılaşmıştım sayesinde hallettim.
Ayrıca bir sorunum daha var, epostaya abuksabuk bişeyler girsemde kabul ediyor, burada bunuda deniycem bakalım burda nasıl yapılmış.

rap

rap
12 Nisan 2011

teşekkür ederim çok başarılı bir anlatım olmuş

ece

ece
25 Haziran 2011

bir çok site gezdim ama hala soruma yanıt bulamadım.ben phpmyadminden veri tabanı oluşturmayıp direk php kodlarıyla veri tabanı olusturmak istiyorum
<?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);
?>
bu kodu yazıyorum ama hata veriyor.Ben direkt php kodlarıyla veri tabanı oluşturamaz mıyım?

Peki ya sizin düşünceleriniz?

Facebook Grubumuz Twitter Wordpress Linked in Google Friendfeed RSS Beslemesi Feedburner RSS

Yakuter web tasarım, yazılım geliştirme, IPhone uygulamaları gibi konular da Üreticy'yi öneriyor.

TAMindir.com - Yeni Programlar

iPadian - Windows

Masaüstünüzü iPad arayüzü şeklinde kullanabilmeniz ve uygulama merkezi sayesinde sunduğu onlarca uyg...

ClipGrab - Windows

YouTube ve diğer popüler çevrimiçi video sitelerinden video indirmek istiyorsanız kullanabileceğiniz...

Elder Scrolls V Skyrim Duvar Kağıtları - Windows

Elder Scrolls V Skyrim için Bethesda Softworks tarafından hazırlanmış duvar kağıtları....

Undelete 360 - Windows

Kaybettiğiniz, yanlışlıkla sildiğiniz veya virüslerden mağdur olduğunuz dosyalarınızı bu programla k...

Knights of the Old Republic 2 Duvar Kağıtları - Windows

Star Wars Knights of the Old Republic 2 oyunu için hazırlanmış en güzel duvar kağıtlarını sizin için...

Abonelik

Yazılan yazılardan ilk siz haberdar olun, yeni yazılar e-postanıza gönderilsin.

yakuter.com © 2006-2010 Erhan Yakut. Site tasarım Cenk Akyıldız - (Tema Bilgisi).
Site içerisindeki içerikler izinsiz kopyalanamaz, alıntı yapılamaz.