Programlamadili.Net Yeni Nesil Programlama Portali
Makale Ara: 
Kullanıcı Adı : Şifre :
  • Makale Kategorileri
Anasayfa
ACPI [0]
Action Script [5]
Ajax [7]
ASP [12]
ASP.NET [23]
Assembly [3]
Bash [1]
C [4]
C# [9]
C++ [10]
Cobol [1]
Delphi [31]
Flash [5]
Html [9]
JAVA [36]
Java Script [12]
JSF [2]
Jsp [5]
Lua [1]
Matlab [2]
MySQL [30]
Oracle [1]
Pascal [31]
Perl [4]
Photoshop [2]
PHP [150]
Python [8]
REXX [6]
Ruby [1]
SEO [5]
Visual Basic [37]
  • Gorsel Ders Kategorileri
Asp [25]
Asp.Net [5]
Csharp [33]
Delphi [3]
Fireworks [4]
Flash [10]
Java Script [0]
Photoshop [0]
PHP [54]
Vb.Net [9]
Visual Basic [4]
  • Dil
English
Deutsch
deutsch
  • Reklam Alani
MySQL / Mysql Database Üzerinde Stored Procedure Kullanımı
Mysql Database Üzerinde Stored Procedure Kullanımı
Yazar: FERDIKUCUK
Eklenme: 17/04/08    Okunma: 360    
 
 

Forumlarda Sıkca Sorulan Sorular :
1-) Mysql de Stored Procedure Varmıdır ?
2-) Mysql de Stored Procedure Nasıl Yapılır ?
3-) Stored Procedur Nedir ?
Bu örnekte yer alan kod da online kullanıcıların mysql database üzerinde stored procedure kullanımı ile kullanıcı kayıtlarını ve bilgilerini tutmak amacıyla yapılmış bir örnektir.


 Kod Çizelgesi     Kod Dili: php
CREATE PROCEDURE temp.online(in gip varchar(15), in gzaman int, in gtarih varchar(19), out sonuc int)

/* 

Burada in ile procedure gid isimli bir değişken girişini sağlıyoruz ve türünü integer olarak atıyoruz.. 

Aynı şekilde gtarih değişkeni de string bir ifade olarak 19(YYY-MM-DD H:i:s) karakter ile sınırlayıp procedure girişini atıyoruz.

out ile sonuc değişkenin prosedür de yapılacak işlemlerin sonuç değerini yani çıktı değişkenini belirliyoruz ve türünü integer olarak tanımlıyoruz.

*/

BEGIN
DECLARE sayi INT; 
DECLARE varmi INT;
DECLARE onceden_girdimi INT;

/* Burada ise sayi isimli değişkeni prosedürün içinde kullanacağımız değişken olarak tanımlıyoruz. Değişken türü integer dir.*/

delete from temp.online where zaman < gzaman;

/* 
Daha öncede kullanıcı girişi yapılmış ve zaman aşımına uğrayan kullanıcı kayıtlarını siliyoruz. 
*/
set varmi = (select count(id) as var from online where ip = gip);
/*
Burada ise php içerisinde yolladığımız IP adresini prosedür içinden kullanıcının daha önceden kaydının var olup olmadığını kontrol ediyoruz.
?/

if varmi = " then 

/*
Burada varmi değişkeninin daha önceden giriş yapıp yapmadığını kontrol ediyoruz.
*/
insert into temp.online(ip, zaman)values(gip,gzaman+180);

set sayi =(select count(*) as toplamkisi from temp.online);

set sonuc = sayi;
/*
Burada sonuc değişkenine toplam online olan kullanıcıları atıyoruz.
*/

else

/*
Eğer ki kullanıcı daha önceden giriş yapmış ise kayıt zamanını güncelliyoruz.
*/
update temp.online set zaman = gzaman+60 where ip = gip;

set sayi =(select count(*) as toplamkisi from temp.online);

set sonuc = sayi;
end if;

set onceden_girdimi = (select ip as arsiv_ip from temp.say where ip = gip); 

/* Burada kullanıcı istatistiği tutuluyor*/

if onceden_girdimi <> " then

update temp.say set kacdefa = kacdefa +1, songiris=gtarih where ip = gip;

else

insert into temp.say(ip, kacdefa,songiris)values(gip,1,gtarih);

end if;

END



Tablo bilgisi
-------------------------------

#----------------------------
# Table structure for online
#----------------------------
CREATE TABLE `online` (
`id` int(11) NOT NULL auto_increment,
`ip` varchar(15) default NULL,
`zaman` double default NULL,
PRIMARY KEY (`id`)
);
#----------------------------
# Records for table online
#----------------------------


#----------------------------
# Table structure for say
#----------------------------
CREATE TABLE `say` (
`id` int(11) NOT NULL auto_increment,
`ip` varchar(15) default NULL,
`kacdefa` int(11) default NULL,
`songiris` datetime default NULL,
PRIMARY KEY (`id`)
);
#----------------------------
# Records for table say
#----------------------------


PHP içerisinden çağrılacak kod.
<?php

@mysql_connect('localhost','root',")or die("Baglantı saglamadı");
@mysql_select_db('temp',$conn)or die("
DB Bulunamadı");
$server_id = $_SERVER['REMOTE_ADDR'];
$zaman = time();

$sql = mysql_query("
call online('".$server_id."','".$zaman."''".date("Y-m-d H:i:s")."',@sonuc)");

$ss = mysql_query("
select @sonuc");
$a = mysql_fetch_array($ss);

if ($a['@sonuc']!=null)
{
echo $a['@sonuc'];
}


?>




Taglar: Bir Yazi dosyasindan TXT tabloya veri aktarmak Kendi Admin Panelimden Phpmyadmin Yedegi Nasil Alirim Mysql baglantisi kurmak Mysql BetweenAnd Isleci Mysql Database Uzerinde Stored Procedure Kullanimi MySQL Delete Veritabanindaki Bilgiyi Silmek mysql dersleri Mysql DROP Deyimi MySQL icin Acik Kalma Suresi MySQL ile Matris Olusturmak MySQL ile Subselect Islemini Join kullanarak Yapmak Mysql INNER JOIN Islemi MySQL InsertInsert Into - Veri Eklemek Mysql Like Isleci Mysql ORDER BY Yan Tumcesi Mysql Sum Islevi MySQL Tablosunda Kolon icin Veri Tipini Degistirme Mysql UNION Islemi Mysql UPDATE Deyimi MySQL Veritabanini Yedeklemek MySQL Veritabanina Baglanma Mysql ye kaydedilen bilgilerin nasil ciktisini ali MYSQLde PHP Kullanarak Veri Silme mysql_real_escape_string komutu php MySQL Full-text Arama

Isminiz:
E-mail adresiniz:
Güvenlik Kodu:
  
 

 

Istatistikler ,
Sitemizde su anda 31 kategori, 453 makale , 147 görsel ders ve 126 Ziyaretci bulunmaktadir...
Toplam üye sayimiz : 951

Web Stats Ferdi Tayfur | Memur Muzaffer | Bedava Mp3 indirin | Visual Basic | Rss| Fnex.Net| Forum Dünyasi
Pagerank

Copyright © 2007 Programlamadili.net - Programlama & Tasarim: Recep Ikiz & Ferdi Küçük

| Site Haritasi |

"Ne Aradığını Bilmeyen Bulduğunun Farkına Varamaz "
ACPI Programlama dili, Action Script Programlama dili, Ajax Programlama dili, ASP Programlama dili, ASP.NET Programlama dili, Assembly Programlama dili, Bash Programlama dili, C Programlama dili, C# Programlama dili, C++ Programlama dili, Cobol Programlama dili, Delphi Programlama dili, Flash Programlama dili, Html Programlama dili, JAVA Programlama dili, Java Script Programlama dili, JSF Programlama dili, Jsp Programlama dili, Lua Programlama dili, Matlab Programlama dili, MySQL Programlama dili, Oracle Programlama dili, Pascal Programlama dili, Perl Programlama dili, Photoshop Programlama dili, PHP Programlama dili, Python Programlama dili, REXX Programlama dili, Ruby Programlama dili, SEO Programlama dili, Visual Basic Programlama dili,
Reklam alanı