Php ile Resim Üzerine Yazı Yazmak
Öncelikle üzerine yazı yazacağımız "resmim.png"
isminde bir resim dosyası oluşturun. PHP ile grafik işlemleri için GD kütüphanesinin açık olması
gerekli. Bunu yapmak için "PHP.INI" dosyasında ki ";extension=php_gd.dll" satırının başındaki ";"
işaretini kaldırın.
Şimdi gelelim php kodumuza
Mobil cihazlardan whatsapp uygulamasını kullanarak eklediğiniz telefon numarası ile sohbete başlayabilir. Kullanıcıların site ile iletişim kurmasını hızlandırmak için ideal bir yoldur. Canlı çevrimiçi sohbet uygulamaları sayfa için ağırlık oluşturduğu gibi kullanıcının oturumu sonlandığı zaman yapılan görüşmenin kayıtlarına ulaşamamasına sebep olur.
Whatsapp sohbet butonu aracılığı ile whatsapp web yada mobil uygulama üzerinden yaptığı görüşmeler herzaman kayıtlı kalır.
Bunun için sitenize kullanımı çok basit olan
Bir web sitesinin Sağ ve Sol alt kısmına Arama Butonları eklemek için gerekli kod
Lütfen Kodları eklemeden önce numaraları kendi numaranızla değiştiriniz
Kodumuzun hemen en başında birkaç değişken deklarasyonu görüyoruz ve değerler bu değişkenlere atanmış. Genellikle düzgün bir bağlantı oluşturabilmek için dört değişkene ihtiyacımız var: $servername, $database, $username, ve $password. Kodumuzda veritabanı detaylarını eksiksiz olarak bu değişkenlere değer olarak belirledik ve daha sonra bu değişkenleri ilgili fonksiyona geçiriyoruz.
Burada bir die() fonksiyonu çalıştırıldı ve bunun anlamı scriptimizi sonlandırma ve girdiğimiz mesajı bize göstermek oluyor. Yani varsayılan olarak Connection Failed: ve hata mesajı bize sorunu belirlememizde yardımcı olacak.
Öte yandan eğer bağlantı başarılıysa, kod bize Connected successfully sonucunu verecektir.
Kodun son bölümü ise mysqli_close‘dur. Bu kod veritabanına kurulan bağlantıyı elle sonlandıracaktır. Eğer belirlenmemişse, bağlantı script tamamlandığında kendi kendini kapatacaktır.
Aynı dizinde databaseconnect.php adında bir dosya oluşturun ancak bu sefer aşağıdaki kodu yapıştırın. Eğer önceki dosyaya farklı bir isim verdiyseniz require_once değerini değiştirmeyi unutmayın.
DSN veritabanı türünü, veritabanının adını ve gerekliyse diğer bilgileri tanımlar. Bunlar, dbconfig.php dosyası içinde belirlediğimiz değişkenler ve değerlerdir. Bu dosyadan ise databaseconnect.php dosyasının require_once satırında bir kez bahsedilmektedir.
İkinci dosyada ‘try… catch…’ kodunu göreceksiniz. Bunun anlamı script’in verilen kodu kullanarak MySQL ile bağlantı kurmaya çalışır ve eğer bir problem oluşursa ‘catch’ bölümündeki kod çalıştırılır. Catch block kullanarak hata mesajlarını gösterebilir veya try block başarısız olursa alternatif bir kod çalıştırabilirsiniz.
Eğer PHP bağlantı kodu başarılı bir şekilde çalışır ve bağlantı sorunsuz oluşturulursa “Connected to $dbname at $host successfully.” mesajını elde edersiniz. Ancak deneme başarısız olursa catch kodu basit bir hata mesajı gösterir ve script’i sonlandırır.
Eğer her şey sorunsuz bir biçimde çalışıyorsanız “Connected successfully” benzeri bir mesaj görürsünüz.
Eğer bağlantı başarısızsa farklı bir mesaj görürsünüz. Hata mesajları MySQLi ve PDO için biraz farklıdır.
Eğer sonunda “(using password: YES)” olan “Access denied” veya “Could not connect to database” mesajını görürseniz ilk yapmanız gereken veritabanı bilgilerini kontrol etmektir. Eksik veya yanlış olan biri kısım olabilir.
Ve elbette, bir hata çözümlemedeki altın kuralı unutmamak oldukça önemlidir:
Bu dosyayı script’in çalıştığı aynı klasörde bulabilirsiniz. Örneğin public_html içinde bir script çalıştırıyorsak, error_log dosyası aynı klasörde olacaktır.
Öğrendiklerinizi daha gelişmiş scriptlerde ve konfigürasyonlarda kullanabilirsiniz. Bir veritabanına bağlanmak onlarla çalışmaya başlamanın ilk ve en önemli adımıdır.
Uygulamada kullanacağımız veritabanı
Öncelikle üzerine yazı yazacağımız "resmim.png"
isminde bir resim dosyası oluşturun. PHP ile grafik işlemleri için GD kütüphanesinin açık olması
gerekli. Bunu yapmak için "PHP.INI" dosyasında ki ";extension=php_gd.dll" satırının başındaki ";"
işaretini kaldırın.
Şimdi gelelim php kodumuza
Kod:
<?php
/*
İstanbul Web Dizayn ([email protected]) Php Programcısı (:
*/
// Browser'a dosyamızın png dosyası olduğunu belirtiyoruz.
Header("Content-type: image/png");
$resim=ImageCreateFromPNG("resim.png");
// Burada yazımızın rengini belirtiyoruz. Şu anda kırmızı.
$yazirengi = ImageColorAllocate($grafik, 255, 0, 0);
/* Burada resmin üzerindeki yazıyı, rengini ve hizasını belirtiyoruz. $resim sonrasında "2" yazının
boyutu, "5" sağ&sol ayarı ve "1" ise yukarı&aşağı ayarını belirtiyor. Sonrasında ki "Resim Üzerine
Yazı" resmin üzerine yazılacak yazıdır. Ve en son olarak yazının rengini $yazırengi ile
belirtiyoruz. İki tane yazı yazmamın sebebi farklılıklarını göstermektir. Bu değerleri değiştirip
nasıl göründüklerine bakınız.
*/
ImageString($resim, 2, 5, 1, "Resim Üzerine Yazı", $yazirengi);
ImageString($resim, 3, 5, 10, "Istikbal Göklerdedir", $yazirengi);
// Resmi PNG olarak browser'a yolluyoruz.
ImagePNG($resim);
// Hafızayı temizliyoruz.
ImageDestroy($resim);
?>
Web sitesine WhatsApp butonu eklemek
WhatsApp uygulamasını web sitenize bir buton aracılığı ile bağlayabilirsiniz. Web sayfanızı ziyaret eden kullanıcılar masaüstü bilgisayarlarda whatsapp web uygulamasını kullanarak eklediğiniz numaraya sohbet başlatabilir.Mobil cihazlardan whatsapp uygulamasını kullanarak eklediğiniz telefon numarası ile sohbete başlayabilir. Kullanıcıların site ile iletişim kurmasını hızlandırmak için ideal bir yoldur. Canlı çevrimiçi sohbet uygulamaları sayfa için ağırlık oluşturduğu gibi kullanıcının oturumu sonlandığı zaman yapılan görüşmenin kayıtlarına ulaşamamasına sebep olur.
Whatsapp sohbet butonu aracılığı ile whatsapp web yada mobil uygulama üzerinden yaptığı görüşmeler herzaman kayıtlı kalır.
Bunun için sitenize kullanımı çok basit olan
Kod:
<a href="https://wa.me/905550000000" target="_blank"><i class="fa fa-whatsapp"></i> WhatsApp</a>
Bir web sitesinin Sağ ve Sol alt kısmına Arama Butonları eklemek için gerekli kod
Lütfen Kodları eklemeden önce numaraları kendi numaranızla değiştiriniz
Kod:
<style>
.float{
position:fixed;
width:60px;
height:60px;
bottom:40px;
left:40px;
background-color:#25d366;
color:#FFF;
border-radius:50px;
text-align:center;
font-size:30px;
box-shadow: 2px 2px 3px #999;
z-index:100;
}
.my-float{
margin-top:16px;
}
</style>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"> <!-- Font Awesome zaten varsa bunu eklemenize gerek yok -->
<a href="https://api.whatsapp.com/send?phone=90555555555" class="float" target="_blank">
<i class="fa fa-whatsapp my-float"></i>
</a>
kod2
....................................
<style>
.wsLink{position:fixed;bottom:6px;right:2.5%;z-index:100;width:60px;height:60px;-webkit-transition:.2s linear;-moz-transition:.2s linear;transition:.2s linear}.wsLink a{position:absolute;top:0;right:0;width:50px;height:50px;animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;background:url(https://hemencdn.com/interface/platinum/img/whatsapp.png) no-repeat center;-ms-transform-origin:50% 100%;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;animation-name:tada;animation-duration:1s;animation-fill-mode:both}
</style>
<div class="wsLink">
<a href="https://api.whatsapp.com/send?phone=902124440444" target="_blank" title="Bize Ulaşın!"> </a>
</div>
<style>
.hotline-phone-ring-wrap{position:fixed;bottom:0;left:0;z-index:999999}.hotline-phone-ring{position:relative;visibility:visible;background-color:transparent;width:110px;height:110px;cursor:pointer;z-index:11;-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);transition:visibility .5s;left:0;bottom:0;display:block}.hotline-phone-ring-circle{width:85px;height:85px;top:10px;left:10px;position:absolute;background-color:transparent;border-radius:100%;border:2px solid #e60808;-webkit-animation:phonering-alo-circle-anim 1.2s infinite ease-in-out;animation:phonering-alo-circle-anim 1.2s infinite ease-in-out;transition:all .5s;-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%;opacity:.5}.hotline-phone-ring-circle-fill{width:55px;height:55px;top:25px;left:25px;position:absolute;background-color:rgba(230,8,8,0.7);border-radius:100%;border:2px solid transparent;-webkit-animation:phonering-alo-circle-fill-anim 2.3s infinite ease-in-out;animation:phonering-alo-circle-fill-anim 2.3s infinite ease-in-out;transition:all .5s;-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}.hotline-phone-ring-img-circle{background-color:#e60808;width:33px;height:33px;top:37px;left:37px;position:absolute;background-size:20px;border-radius:100%;border:2px solid transparent;-webkit-animation:phonering-alo-circle-img-anim 1s infinite ease-in-out;animation:phonering-alo-circle-img-anim 1s infinite ease-in-out;-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;align-items:center;justify-content:center}.hotline-phone-ring-img-circle .pps-btn-img{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:20px}.hotline-bar{position:absolute;background:rgba(230,8,8,0.75);height:40px;width:200px;line-height:40px;border-radius:3px;padding:0 10px;background-size:100%;cursor:pointer;transition:all .8s;-webkit-transition:all .8s;z-index:9;box-shadow:0 14px 28px rgba(0,0,0,0.25),0 10px 10px rgba(0,0,0,0.1);border-radius:50px!important;left:33px;bottom:37px}
@-webkit-keyframes phonering-alo-circle-anim{0%{-webkit-transform:rotate(0) scale(0.5) skew(1deg);-webkit-opacity:.1}30%{-webkit-transform:rotate(0) scale(0.7) skew(1deg);-webkit-opacity:.5}100%{-webkit-transform:rotate(0) scale(1) skew(1deg);-webkit-opacity:.1}}@-webkit-keyframes phonering-alo-circle-fill-anim{0%{-webkit-transform:rotate(0) scale(0.7) skew(1deg);opacity:.6}50%{-webkit-transform:rotate(0) scale(1) skew(1deg);opacity:.6}100%{-webkit-transform:rotate(0) scale(0.7) skew(1deg);opacity:.6}}@-webkit-keyframes phonering-alo-circle-img-anim{0%{-webkit-transform:rotate(0) scale(1) skew(1deg)}10%{-webkit-transform:rotate(-25deg) scale(1) skew(1deg)}20%{-webkit-transform:rotate(25deg) scale(1) skew(1deg)}30%{-webkit-transform:rotate(-25deg) scale(1) skew(1deg)}40%{-webkit-transform:rotate(25deg) scale(1) skew(1deg)}50%{-webkit-transform:rotate(0) scale(1) skew(1deg)}100%{-webkit-transform:rotate(0) scale(1) skew(1deg)}}
@media (max-width: 768px) {
.hotline-bar { display: none;}
}
.hotline-phone-ring-circle {border-color: #f7bc3c;}
.hotline-phone-ring-circle-fill, .hotline-phone-ring-img-circle, .hotline-bar {background-color: #f7bc3c;}
.hotline-bar {background: rgb( 247, 188, 60, .7 );}
.hotline-phone-ring-img-circle .pps-btn-img img {width: 20px;height: 20px;}
.hotline-bar > a{color:#fff;text-decoration:none;font-size:15px;font-weight:700;text-indent:50px;display:block;letter-spacing:1px;line-height:40px;font-family:Arial}
.hotline-bar > a:hover,
.hotline-bar > a:active {color: #fff;}
</style>
<div class="hotline-phone-ring-wrap">
<div class="hotline-phone-ring">
<div class="hotline-phone-ring-circle"></div>
<div class="hotline-phone-ring-circle-fill"></div>
<div class="hotline-phone-ring-img-circle">
<a href="tel:+902124440444" class="pps-btn-img"><img src="https://hemencdn.com/interface/platinum/img/phone.png" alt="Hotline" style="height: 20px;"/></a>
</div>
</div>
<div class="hotline-bar">
<a href="tel:+902124440444"><span class="text-hotline">+902124440444</span></a>
</div>
</div>
Bir PHP Script’ini MySQL’e Bağlamak için MySQLi Kullanımı
Bir PHP script’ini MySQL’e bağlamak için bu adımları takip edin:- File Manager (Dosya Yöneticisi) -> public_html konumunu takip edin.
- Yukarıdaki menüden Yeni Dosya ikonuna tıklayın.
- Bu dosyayı databaseconnect.php olarak kaydedin. Dosyanın adını istediğiniz gibi değiştirebilir ancak uzantı olarak .php kullanıldığından emin olun.
- Dosyayı açmak için çift tıklayın ve açtıktan sonra aşağıdaki kod satırlarına kopyalayıp yapıştırın. <?php aşağısındaki ilk dört değeri daha önce bir kenara yazdığınız bilgilerle değiştirin.
Kod:
<?php
$servername = "localhost";
$database = "veritabaniadi";
$username = "kullaniciadi";
$password = "sifre";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);
// Check connection
if (!$conn) {
die("Connection failed: " .
mysqli_connect_error());
}
echo "Connected successfully";
mysqli_close($conn);
?>
MySQLi Kodu Açıklaması
Bu script’de kullanılan ana yöntem mysqli_connect() metodudur. Bu, bir MySQL sunucusuna yeni bir bağlantı kurmak için dahili bir PHP fonksiyonudur.Kodumuzun hemen en başında birkaç değişken deklarasyonu görüyoruz ve değerler bu değişkenlere atanmış. Genellikle düzgün bir bağlantı oluşturabilmek için dört değişkene ihtiyacımız var: $servername, $database, $username, ve $password. Kodumuzda veritabanı detaylarını eksiksiz olarak bu değişkenlere değer olarak belirledik ve daha sonra bu değişkenleri ilgili fonksiyona geçiriyoruz.
Burada bir die() fonksiyonu çalıştırıldı ve bunun anlamı scriptimizi sonlandırma ve girdiğimiz mesajı bize göstermek oluyor. Yani varsayılan olarak Connection Failed: ve hata mesajı bize sorunu belirlememizde yardımcı olacak.
Öte yandan eğer bağlantı başarılıysa, kod bize Connected successfully sonucunu verecektir.
Kodun son bölümü ise mysqli_close‘dur. Bu kod veritabanına kurulan bağlantıyı elle sonlandıracaktır. Eğer belirlenmemişse, bağlantı script tamamlandığında kendi kendini kapatacaktır.
Bir PHP Script’ini MySQL’e Bağlamak için PDO Kullanımı
Bir PHP script’ini MySQL’e bağlamanın diğer yöntemi ise PDO kullanımıdır. Bu yöntem bir öncekine oldukça benzerdir ancak ufak farklılıklara sahiptir:- public_html‘de pdoconfig.php adında bir dosya oluşturun ve aşağıdaki kodu yerleştirin. Her zamanki gibi bu değerleri veritabanı bilgilerinizle değiştirmeyi unutmayın. İşiniz bittikten sonra Kaydet & Çık‘a tıklayın.
Kod:
<?php
$host = 'localhost';
$dbname = 'veritabaniadi';
$username = 'kullaniciadi';
$password = 'sifre';
Aynı dizinde databaseconnect.php adında bir dosya oluşturun ancak bu sefer aşağıdaki kodu yapıştırın. Eğer önceki dosyaya farklı bir isim verdiyseniz require_once değerini değiştirmeyi unutmayın.
Kod:
<?php
require_once 'pdoconfig.php';
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
echo "Connected to $dbname at $host successfully.";
} catch (PDOException $pe) {
die("Could not connect to the database $dbname :" . $pe->getMessage());
}
PDO Kodu Açıklaması
Bir PDO veritabanı Data Source Name (DSN), kullanıcı adı ve şifre ile yeni bir ‘PDO object’ oluşturmanızı gerektirir.DSN veritabanı türünü, veritabanının adını ve gerekliyse diğer bilgileri tanımlar. Bunlar, dbconfig.php dosyası içinde belirlediğimiz değişkenler ve değerlerdir. Bu dosyadan ise databaseconnect.php dosyasının require_once satırında bir kez bahsedilmektedir.
İkinci dosyada ‘try… catch…’ kodunu göreceksiniz. Bunun anlamı script’in verilen kodu kullanarak MySQL ile bağlantı kurmaya çalışır ve eğer bir problem oluşursa ‘catch’ bölümündeki kod çalıştırılır. Catch block kullanarak hata mesajlarını gösterebilir veya try block başarısız olursa alternatif bir kod çalıştırabilirsiniz.
Eğer PHP bağlantı kodu başarılı bir şekilde çalışır ve bağlantı sorunsuz oluşturulursa “Connected to $dbname at $host successfully.” mesajını elde edersiniz. Ancak deneme başarısız olursa catch kodu basit bir hata mesajı gösterir ve script’i sonlandırır.
PHP MySQL Veritabanı Bağlantısı Hatalarını Çözümleme
Bağlantının başarı olup olmadığını görmek için domaininiz/databaseconnect.php kısmına gidin. Eğer PHP dosyasına farklı bir isim verdiyseniz bu noktaya dikkat edin.Eğer her şey sorunsuz bir biçimde çalışıyorsanız “Connected successfully” benzeri bir mesaj görürsünüz.
Eğer bağlantı başarısızsa farklı bir mesaj görürsünüz. Hata mesajları MySQLi ve PDO için biraz farklıdır.
Yanlış Şifre Hatası
Bu hata PHP kodundaki şifreyi veya herhangi bir bilgiyi değiştirdiğiniz (veritabanındaki gerçeğini değiştirmeden) takdirde oluşur.Eğer sonunda “(using password: YES)” olan “Access denied” veya “Could not connect to database” mesajını görürseniz ilk yapmanız gereken veritabanı bilgilerini kontrol etmektir. Eksik veya yanlış olan biri kısım olabilir.
MySQL Sunucusuna Bağlanılamıyor/h3>
Eğer MySQLi’de “Can’t connect to MySQL server on ‘server’ (110)” hatasını alırsanız bunun anlamı script’in sunucudan yanıt alamadığıdır. Bu, $servername olarak “localhost” yerine “sunucu” belirlediyseniz ve isim tanınmadıysa gerçekleşmektedir.
PDO’da ise MySQL host’unun bulunamadığını belirten bilgilerle birlikte “Connection failed: SQLSTATE[Hy000] [2002]” gibi bir hata mesajı alırsınız. Bu hatayı da tıpkı MySQLi’deki hatayı çözdüğünüz gibi çözebilirsiniz.Ve elbette, bir hata çözümlemedeki altın kuralı unutmamak oldukça önemlidir:
Bağlantıları görmek için lütfen
Giriş Yap
.Bu dosyayı script’in çalıştığı aynı klasörde bulabilirsiniz. Örneğin public_html içinde bir script çalıştırıyorsak, error_log dosyası aynı klasörde olacaktır.
Sonuç
Bu rehberde veritabanları ve PHP Data Objects (PDO) ile MySQLi kullanarak PHP MySQL veritabanı bağlantısı nasıl yapılır öğrenmiş oldunuz.Öğrendiklerinizi daha gelişmiş scriptlerde ve konfigürasyonlarda kullanabilirsiniz. Bir veritabanına bağlanmak onlarla çalışmaya başlamanın ilk ve en önemli adımıdır.
Uygulamada kullanacağımız veritabanı
Kod:
Veritabanı: kitaplik
Tablo: kitaplar
isbn adi yazari
944503382 Adım Adım Access 2000 X
881192131 Sabahın Körü Y
baglan.php
<?php
$user = "root"; //veritabanı kullanıcı adı
$pwd = "1234"; //veritabanı şifresi
$host = "localhost"; //mysql server
$db = "kitaplik"; //veritabanı adı
$conn = mysql_connect($host,$user,$pwd) or die("MySQL sunucusuna baglanilamadi!!!".mysql_error());
mysql_select_db($db) or die("Veritabani secilemedi!!!".mysql_error());
?>
baglan.php dosyası, veritabanına bağlantının yapılmasını sağlayan blokları içeren dosyamızdır. böylece her sayfada bu kodları yeniden yazmak yerine sadece sayfaya dahil edeceğiz.
mysql_fetch_assoc
mysql_fetch_assoc, mysql_query ile dönen sonuç kümesini işleyerek her satırı diziye aktarır. Dizi elemanlarının index anahtarları ise, sütun isimlerinden oluşur. Örnekte; ilk olarak bağlantı dosyamızı içeri aktarıyoruz. Hemen ardından kitaplar tablomuzdan isbn ve adi alanlarını seçiyoruz. Eğer sonuç kümesi boş değilse, her bir satır için while döngüsü ile mysql_fetch_assoc, bilgileri $oku isimli bir dizi oluşturup içerisinde depoluyor. Ardından verileri ekrana basarken bilgileri $oku['sutun_adi'] formatında çağırıyoruz. Eğer kayıt yoksa uyarıp en sonunda bağlantımızı kapatıyoruz.
<?php
require_once("./baglan.php");
$sonuc = mysql_query("select isbn,adi from kitaplar");
if(mysql_num_rows($sonuc)!=0)
{
while($oku = mysql_fetch_assoc($sonuc))
{
echo "Kitap adi: ".$oku["adi"]."<br>Kitap ISBN: ".$oku["isbn"]."<br><br>";
//echo $.oku["yazari"]; //bu satir hatalidir cunku sql sorgumuzda yazari alanini secmedik
}
}else{
echo "Hic kayit yok!";
}
mysql_close($conn);
?>
mysql_fetch_object();
mysql_fetch_object, mysql_query ile dönen sonuç kümesini işleyerek her satırı oluşturulan nesneye sütun adıyla özellik şeklinde aktarır. Örnekte; ilk olarak bağlantı dosyamızı içeri aktarıyoruz. Hemen ardından kitaplar tablomuzdan isbn ve adi alanlarını seçiyoruz. Eğer sonuç kümesi boş değilse, her bir satır için while döngüsü ile mysql_fetch_object, bilgileri $oku isimli bir nesne oluşturup içerisinde depoluyor. Ardından verileri ekrana basarken bilgileri nesne yönelimli mantıkla $oku->sutun_adi formatında çağırıyoruz. Eğer kayıt yoksa uyarıp en sonunda bağlantımızı kapatıyoruz.
<?php
require_once("./baglan.php");
$sonuc = mysql_query("select isbn,adi from kitaplar");
if(mysql_num_rows($sonuc)!=0)
{
while($oku = mysql_fetch_object($sonuc))
{
echo "Kitap adi: ".$oku->adi."<br>Kitap ISBN: ".$oku->isbn."<br><br>";
//echo $.oku->yazari; //bu satir hatalidir cunku sql sorgumuzda yazari alanini secmedik
}
}else{
echo "Hic kayit yok!";
}
mysql_close($conn);
?>
mysql_fetch_row
mysql_fetch_row, mysql_query ile dönen sonuç kümesini işleyerek her satırı diziye aktarır. Dizi elemanlarının index anahtarları, sorgudaki çekilme sıralarına göre sıfırdan başlayarak devam eder.Örnekte; ilk olarak bağlantı dosyamızı içeri aktarıyoruz. Hemen ardından kitaplar tablomuzdan isbn ve adi alanlarını seçiyoruz. Eğer sonuç kümesi boş değilse, her bir satır için while döngüsü ile mysql_fetch_row, bilgileri $oku isimli bir dizi oluşturup içerisinde depoluyor. Ardından verileri ekrana basarken bilgileri $oku[0] formatında çağırıyoruz. Eğer kayıt yoksa uyarıp en sonunda bağlantımızı kapatıyoruz.
Dikkat edilmesi gereken nokta, index numaralarıdır. Gördüğünüz gibi isbn sütunu ilk çekildiği için 0 index numarasını almıştır.
<?php
require_once("./baglan.php");
$sonuc = mysql_query("select isbn,adi from kitaplar");
if(mysql_num_rows($sonuc)!=0)
{
while($oku = mysql_fetch_row($sonuc))
{
echo "Kitap adi: ".$oku[1]."<br>Kitap ISBN: ".$oku[0]."<br><br>";
//echo $.oku[2]; //bu satir hatalidir cunku sql sorgumuzda üçüncü bir alan(yazari alanini) secmedik
}
}else{
echo "Hic kayit yok!";
}
mysql_close($conn);
?>
mysql_fetch_array()
mysql_fetch_array, mysql_fetch_assoc ve mysql_fetch_row fonksiyonlarının birleştirilmiş hali olarak düşünülebilir. Kullanım sırasında aldığı ikinci parametre (MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH) diziye erişim sırasında kullnacağınız index anahtarı tipini belirlemenizi sağlar.
<?php
require_once("./baglan.php");
$sonuc = mysql_query("select isbn,adi from kitaplar");
if(mysql_num_rows($sonuc)!=0)
{
while($oku = mysql_fetch_array($sonuc,MYSQL_BOTH))
{
echo "Kitap adi: ".$oku[1]."<br>Kitap ISBN: ".$oku["isbn"]."<br><br>";
//echo $.oku[2]; //bu satir hatalidir cunku sql sorgumuzda üçüncü bir alan(yazari alanini) secmedik
}
}else{
echo "Hic kayit yok!";
}
mysql_close($conn);
?>
MYSQL_ASSOC Fonksiyon kullanımı mysql_fetch_assoc ile aynı olacaktır.Dizi elemanlarına sütun ismi ile ulaşılabilir
MYSQL_NUM Fonksiyon kullanımı mysql_fetch_row ile aynı olacaktır.Dizi elemanlarına sütun numarası ile ulaşılabilir
MYSQL_BOTH Dizi elemanlarına hem sütun adı hem sütun numarası ile ulaşılabilir
mysql_result()
mysql_result, sql sorgusundan tek bir sütun içeriğini çeker. Örneğimizde sadece adi sütunu üzerinde işlem yapacağız. Sorgudan hemen sonra sonuç kümesinin satır sayısını $satir içerisine alıyoruz ve $basla değişkenini sıfıra eşitliyoruz. Ardından sonuç kümesi satır sayısı sıfıra eşit değilse(boş değilse), okunan satır sayısı toplam satır sayısına eşitlenene kadar dönecek bir döngü bloğu içerisinde mysql_result kullanıyoruz. İşlemlerin sonunda mysql bağlantısını kapatıyoruz.
<?php
require_once("./baglan.php");
$sonuc = mysql_query("select adi from kitaplar");
$satir = mysql_num_rows($sonuc);
$basla = 0;
if($satir!=0)
{
while($basla<=$satir)
{
echo "Kitap adi: ".mysql_result($sonuc,$basla); //her satırdaki adi kolonu
$basla++;
}
}else{
echo "Hic kayit yok!";
}
mysql_close($conn);
?>
Moderatörün son düzenlenenleri: