Türk çocuğu ecdadını tanıdıkça daha büyük işler yapmak için
kendinde kuvvet bulacaktır! Mustafa Kemal ATATÜRK

Php ile Veritabanı (Mysql) İşlemleri

Kategori Php
28.02.2006
12383 Okunma

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…

Comments of this post

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?

murat

murat
02 Ocak 2012

eywallah hocam çok sağol

deneme

deneme
24 Ocak 2012

deneme

del

del
24 Ocak 2012

den

ali

ali
17 Şubat 2012

helal olsun 10 saırda halletmişsin eline sağlık

devam

devam
21 Mart 2012

erkek olmama rağmen şu şekilde ifade ediyorum ki "diline sağlık tatlım (not yalan dünya alıntı) " sağol kardeş

Ümit Bulut

Ümit Bulut
14 Mayıs 2012

mysqden belli bir şartla çektiğim sorgu 1 tane var ama binlerve geliyor bunun mysqlde bir kullanımı vardı eğer sonuç aynıysa tek bir sorgu gösteriyor bunun hakkında bir bilgisi olan var mı

Mustafa YILDIZ

Mustafa YILDIZ
17 Haziran 2012

hocam süpersin eywallah bu gibi dersler acemi arkadaşlar için her zaman lazım sizin gibi paylaşımcı insanlar olmasa accemiler yandı. emeğinize sağlık

Halil İbrahim

Halil İbrahim
17 Temmuz 2012

özellikle not hoşuma gitti. ince ince işlenmiş bir hali var. önceden cevap..

Yakup TAŞLIBEYAZ

Yakup TAŞLIBEYAZ
12 Kasım 2012

Güzel Yeni Başlayanlar İçin Başarılı Bir Makale Paylaşımı Olmuş….

selim

selim
08 Aralık 2012

Merhaba, php ile basit bir rezervasyon sistemi yapacağım ama pek yapamadım, oda bilgilerini veri tabanında tutacağım ve sayfada odaları radio buton'da sunacağım, mesela 1. radio buton seçildiğinde o radio buton disable hale gelecek eğer rezervasyona uyumluysa alınabilecek. yardım edebilecek varsa ulaşsın lütfennn…

ozan

ozan
18 Ocak 2013

simdi hocam ben normal
mysql command line 5.5
de olusturuodum veritabanını ancak dedım hani orda olusturmayayım die localhost'un sitesinden veritabanı olusturdum sonra actım bi not defteri dedim ki
veritabanı adını sımdılık sallıcam.
daha onceden siteden olusturduumdan bir daha CREATE veritabanim demedim .
mysql>USE veritabanim;
mysql>CREATE TABLE sira(
->ad VARCHAR(60) NOT NULL,
->soyad CHAR(60) NOT NULL,
->id INT AUTO_INCREMENT PRIMARY KEY,
->mail VARCHAR(60) NOT NULL
->);
HOCAM SIMDI BUNU YAZDIM NOT DEFTERİNE SİMDİ BUNUN CALISMASI ICIN BEN BU NOT DEFTERİNDE KAYDEDERKEN UZANTI OLARAK ORNEGIN sira.php mi dicem yoksa sira.sql mı?
cevaplarsanız sevinirim.

yakup

yakup
30 Mart 2013

sira.sql şeklinde kaydedeceksin kardeşim çünkü sql'ın kod kısımları bunlar :)

designerfirat

designerfirat
23 Nisan 2013

dostum çok saol en açık ve en anlasılır bir şekilde anlatım yapmıs oldugun için teşekkürler

mertcan

mertcan
30 Nisan 2013

eğer sayfalar arasinda bağlanti yapacaksan html ama veritabanı ile sayfa arasında yaparsa php….

KodBurada

KodBurada
19 Temmuz 2013

Sade ve güzel bir anlatım olmuş. Teşekkürler.