1. sayfa (Toplam 1 sayfa)

PHP kullanarak mysql’e sorgu gönder

Gönderilme zamanı: 15 Eki 2009, 15:28
gönderen velociraptor
PHP’de MySQL’e sorgu göndermek için mysql_query() komutu kullanılır. Parantez içinde tırnak arasında sql sorgusu veya daha önce sql olarak hazırlanmış değişken yazılabilir.

Örneğin:

Kod: Tümünü seç

$sorgu=”select * from phpisbest”;
$islem=mysql_query($sorgu);
veya

Kod: Tümünü seç

$islem=mysql_query(“select * from phpisbest”);
aynı işlemi yapar.Kaç tane kayıt geldiğini öğrenmek için mysql_numrows() komutu kullanılır. Bu daha sonra sorgudan gelen kayıtları almak işimize yarayacaktır.

Kod: Tümünü seç

$kac=mysql_numrows($islem);
yukarıdaki sorgudan kaç tane kayıt geldiğini bize verecektir. Eğer sorgudan gelen kayıtları değişkenlere almak istiyorsak bunun icinde mysql_result() komutu kullanılır.

Mesela yukarıdaki sorgudan php ve asp diye iki alan geldiğini düşünelim burdan gelen tüm kayıtları ayrı ayrı iki değişkene aktaralım.

Kod: Tümünü seç

$i=0;
while($i<$kac):
$asp[]=mysql_result($islem,$i,”asp”);
$php[]=mysql_result($islem,$i,”php”);
$i++;
endwhile;
Yukarıda $i değişkeni sorgudan gelen sonuçları alırken kullandığımız tampon değişkendir. Sırası ile her sıradaki asp ve php alanlarındaki kayıtlar $asp ve $php isimli iki dizi değişkene aktarıyor. Böylece mysql’de yer alan yaptığımız sorgu ile alakalı tüm kayıtlar artık php’nin içine aktarılmıştır. Bunları ekrana dökmek için:

Kod: Tümünü seç

for($j=0;$j<$kac;$j++):
echo $asp[j].”   “.$php[j].”<br>”;
endfor;
şeklinde kısa bir döngü kullanılabilir. Tabii ki bunu html kullanarak daha görsel hale getirmek mümkündür.

Php’den gelen değişkenleri de sorgularda kullanmamız mümkündür. Mesela $ad diye bir değişken gelecek ve bu değişkenin ad, soyad ve eposta bilgileri ekrana yazılacaktır. Kullanılan database isimler olsun isim adlı bir tablo kullanılsın. Örneğin aşağıda dökelim:

Kod: Tümünü seç

<?
$host  =        “localhost”;
$user  =        “root”;
$pass  =        “”;
$database     =        “isimler”;
/* Daha dinamik bir program yapısı olması açısından bu şekilde tanımlamalar ile kullanmak ileride değişikliler yapıldığında işimizi kolaylaştıracaktır*/

Kod: Tümünü seç

mysql_connect($host,$user,$pass)
mysql_select_db($database);
$sorgu          =        “select ad,soyad,eposta from isim where ad=’$ad’”;
$islem           =        mysql_query($sorgu);
$kac             =        mysql_numrows($islem);
$i=0;
while($i<$kac):
$isim         =        mysql_result($islem,$i,”ad”);
$soyisim     =        mysql_result($islem,$i,”soyad”);
$posta       =        mysql_result($islem,$i,”eposta”);
echo”ad: $isim  <br> soyad: $soyisim<br> eposta: $posta<br><br><br>”;
$i++;
endwhile;
?>
ALINTIDIR