Etiket arşivi: database

Php ile mysql select nasıl yapılır

php mysql select

Php ile mysql veritabanındaki değerler nasıl çeklilir (select yapmak)?

Php’de mysql veritabanındaki değerleri ekrana yazdırmak yani select yapmak için örnek bir kullanım göstereceğim, önce veritabanı bağlantısı kurmanız gerekiyor, bunu başka bir yazıda anlatmıştım o yüzden tekrar anlatmayacağım.


<?php

$limit = "15";
$sql = mysql_query("SELECT * FROM mesajlar ORDER BY id DESC LIMIT $limit");
while ($mesajlar = mysql_fetch_array($sql)) {
$kayit = $mesajlar['kayit'];

echo $kayit  .  '<br />';

}

?>

Şimdi burada ne yaptık? Aslında bir değil birkaç işlemi birden yaptık, yararlı olabileceğini düşündüğüm özellikleri bu kodlara ekledim ki tek tek arayıp uğraşmayın.

İlk önce mesajlar ismindeki tablodaki verileri çekiyoruz, tabi bütün verileri karmaşık bir sırayla değil, id isimli sütuna göre sonran başlayarak sırayla çekiyoruz, bunu da DESC ile belirttik, sql sorgusunun içerisinde görebilirsiniz, DESC yerine ASC yazsaydık sondan değil de ilk baştan başlayarak okuyacaktı.

Tabi verileri çekerken bulduğu bütün verileri değil de belli bir limitle çekmesini de söyledik, bunu da LIMIT sorgusunun peşine $limit değişkeni koyarak yaptık. Kodların ilk başındaki gibi $limit ismindeki değişkeni sql sorgusunun içine ekleyerek sayfada kaç sonuç listeleneceğini belirttik.

Bu sorguda her bir kayıt için tek tek işlem yapabiliriz veya genel olarak da işlem yapabiliriz. Tek tek işlem yapmak için while döngüsünün içerisine kodlarımızı eklememiz gerekiyor. Genel olarak bütün sorgulara işlem yapmak için de en başa ve en sona yapacağımız işlemleri ekleyebiliriz.

İşlemden kastım şudur, mesala tek tek bütün sorgulara farklı css class’ı atamak istiyorsunuz veya farklı şekilde filtreden geçirmek istiyorsunuz, bunu while döngüsünün içerisinde yaparsınız, oysa ki bütün sorgulara ortak bir filtre işelmi veya herhangi bir css işlemi yapmak isterseniz bunu direk olarak kodların en başına ve en sonuna ekleyebilirsiniz.

ekrana yazdırma kısmına gelince echo fonksiyonuyla, sorgu başına $kayit değişkenini yani kayit isimli tabloda bulunan veriyi, peşine de her sorgu için bir alt satıra geçmesini istediğimizden html’deki br tagını ekledik.

Bu kodla veritabanındaki bilgilerinizi ekrana yazdırabilirsiniz, kendinize göre değiştirebilirsiniz ve tabiki anlamadığınız yer olursa konuya yorum atarak sorabilirsiniz.

Php mysql ile update yapmak

php mysql updatePhp ile mysql veritabanındaki değerler nasıl update yapılır?

Php ile mysql veritabanından değer değiştirme (update) için mysql_query fonksiyonunu kullabiliriz.


<?php

mysql_query("UPDATE veriler SET mesaj='$mesaj'
WHERE id='$id'");

?>

Burada veriler ismindeki tablodaki mesaj stununu $mesaj değişkeni ile güncelledik. Sadece mesaj id’si $id değişkenine eşit olan mesajı güncelledik. $id değişkeni hangi mesajın güncelleneceğini belirlememize yarıyor. Bu fonksiyonu kullanmak için önce veritabanı bağlantısı kurmanız herekiyor.

Php ile veritabanı bağlantısı kurmak

php-session

db_host, db_username, db_password, db_name değişkenlerine veritabanı hostunuzu(genelde localhost olur), kullanıcı adınızı, şifrenizi ve kullanacağınız veritabanının adını yazın, bu kod parçasını veritabanı kullanacağınız sayfanın başına ekleyebilir, veya bundan bir tane oluşturup bütün sayfalara include edebilirsiniz. Php oop bilen arkadaşlar veritabanı class’ı oluşturup içine bağlan adında bir fonksiyon atayabilirler, en doğru yöntem budur fakat bu biraz daha orta seviyede bilgili programcılar içindir.

<?php

$db_host = "localhost";
$db_username = "kullanici";
$db_password = "sifre";
$db_name = "veritabaniadi";

$baglan = mysql_connect("$db_host", "$db_username", "$db_password") or die("baglanamadi.");
mysql_select_db("$db_name") or die("Veritabani secilemiyor!");

//Bu kısmı bağlantıyı test etmek için kullanabilirsiniz.
if ($baglan) {
    echo 'Veritabanı bağlantısı başarılı <br />';
} else {
    echo 'Veritabanı bağlantısında sorun var!';
}

?>