lostyazilim

mysqli Fonksiyonları İle Veri Listeleme

7 Mesajlar 7.807 Okunma
lstbozum
wmaraci reklam

monelogg monelogg <> Kullanıcı
  • Üyelik 06.03.2014
  • Yaş/Cinsiyet 33 / E
  • Meslek Öğrenci
  • Konum Diğer
  • Ad Soyad M** B**
  • Mesajlar 658
  • Beğeniler 78 / 125
  • Ticaret 0, (%0)
Merhaba, hatalarla uğraşmaktan PHP çalışamıyorum, aşağıda sırayla
veri tabanını,
çalışmayan birinci kodlamayı,
çalışmayan ikinci kodlamayı listeledim, kodlamaları çalışır hale getirebilir misiniz?

Kodlamaların ikisini de veri tabanındaki verileri listelemek için yazmaya çalıştım.

Veri Tabanı

CREATE DATABASE `tPortal_mysql_vt` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

USE `tPortal_mysql_vt`;
CREATE TABLE
`malzeme`
(
`malzeme_id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`malzeme_ad` NVARCHAR(50),
`malzeme_miktar` INT
);


INSERT INTO malzeme(malzeme_ad, malzeme_miktar) VALUES('ELMA',3);
INSERT INTO malzeme(malzeme_ad, malzeme_miktar) VALUES('ARMUT',5);
INSERT INTO malzeme(malzeme_ad, malzeme_miktar) VALUES('KİRAZ',8);
INSERT INTO malzeme(malzeme_ad, malzeme_miktar) VALUES('AYVA',4);
INSERT INTO malzeme(malzeme_ad, malzeme_miktar) VALUES('MUZ',13);
INSERT INTO malzeme(malzeme_ad, malzeme_miktar) VALUES('ELMA',4);
INSERT INTO malzeme(malzeme_ad, malzeme_miktar) VALUES('VİŞNE',18);
INSERT INTO malzeme(malzeme_ad, malzeme_miktar) VALUES('ARMUT',6);
INSERT INTO malzeme(malzeme_ad, malzeme_miktar) VALUES('ARMUT',1);
INSERT INTO malzeme(malzeme_ad, malzeme_miktar) VALUES('ERİK',9);
INSERT INTO malzeme(malzeme_ad, malzeme_miktar) VALUES('KARPUZ',4);
INSERT INTO malzeme(malzeme_ad, malzeme_miktar) VALUES('KARPUZ',5);
INSERT INTO malzeme(malzeme_ad, malzeme_miktar) VALUES('KARPUZ',6);
INSERT INTO malzeme(malzeme_ad, malzeme_miktar) VALUES('KARPUZ',8);


Çalışmayan Kodlama 1









$baglan = mysqli_connect("localhost","root","");

mysqli_select_db($baglan, "tportal_mysql_vt");
$sorgu = mysqli_query($baglan, "SELECT * FROM malzemeler");
mysqli_query($baglan, "SET CHARACTER SET 'UTF-8'");
mysqli_query($baglan, "SET NAME 'UTF-8'");
mysqli_query($baglan, "SET COLLATION_CONNECTION = 'utf8_general_ci'");


while($row = mysqli_fetch_assoc($sorgu)){






echo $row['0']; echo $row['1']; echo $row['2'];

}
mysqli_close($baglan);
?>




Çalışmayan Kodlama 2









$baglan = mysqli_connect("localhost","root","");

mysqli_select_db($baglan, "tportal_mysql_vt");
$sorgu = mysqli_query($baglan, "SELECT * FROM malzemeler");
mysqli_query($baglan, "SET CHARACTER SET 'UTF-8'");
mysqli_query($baglan, "SET NAME 'UTF-8'");
mysqli_query($baglan, "SET COLLATION_CONNECTION = 'utf8_general_ci'");

while($row = mysqli_fetch_array($sorgu, MYSQLI_BOTH)){






echo $row['0']; echo $row['1']; echo $row['2'];

}
mysqli_close($baglan);
?>


 

 

wmaraci
reklam

  • Üyelik 10.11.2024
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar
  • Beğeniler /
  • Ticaret , (%)
Hatan çok basit, php içerisinde html kullanamazsın php tagını kapatman gerekir ama sen while içinde tablo oluşturmaya çalışmışsın. her iki kod içinde geçerli yöntem şudur:


..............
while($row = mysqli_fetch_assoc($sorgu)){ ?>







..............
 

 

monelogg monelogg <> Kullanıcı
  • Üyelik 06.03.2014
  • Yaş/Cinsiyet 33 / E
  • Meslek Öğrenci
  • Konum Diğer
  • Ad Soyad M** B**
  • Mesajlar 658
  • Beğeniler 78 / 125
  • Ticaret 0, (%0)

mamiysr adlı üyeden alıntı

Hatan çok basit, php içerisinde html kullanamazsın php tagını kapatman gerekir ama sen while içinde tablo oluşturmaya çalışmışsın. her iki kod içinde geçerli yöntem şudur:


..............
while($row = mysqli_fetch_assoc($sorgu)){ ?>







..............


Cevabınız için teşekkür ederim, bu dediğinizi de yapmıştım, sizin kodlarınızla da denedim fakat her iki kodlama için yine aşağıdaki hatayı veriyor.
(Hatayı while satırında veriyor.)

1. Kodlama İçin
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in

2. Kodlama İçin
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in

Şu hata yüzünden bir türlü PHP çalışamadım, ben çözmeye çalıştıkça bu karşıma çıkıyor, iyice sinir bozmaya başladı. Yardım edebilirseniz/bir başkası yardım edebilirse çok memnun olurum.
 

 

  • Üyelik 10.11.2024
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar
  • Beğeniler /
  • Ticaret , (%)

monelogg adlı üyeden alıntı

Cevabınız için teşekkür ederim, bu dediğinizi de yapmıştım, sizin kodlarınızla da denedim fakat her iki kodlama için yine aşağıdaki hatayı veriyor.
(Hatayı while satırında veriyor.)

1. Kodlama İçin
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in

2. Kodlama İçin
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in

Şu hata yüzünden bir türlü PHP çalışamadım, ben çözmeye çalıştıkça bu karşıma çıkıyor, iyice sinir bozmaya başladı. Yardım edebilirseniz/bir başkası yardım edebilirse çok memnun olurum.



Merhaba, while'dan önce hatanız query sorgusunda, siz "malzemeler" tablosundan çekmeye çalışıyorsunuz ama tablonuzun adı "malzeme",

ben şahsen size şunu önerebilirim, oop başlığına geldiğinizde neden bunu önerdiğimi anlayacaksınız.


$vt = mysqli_connect('localhost','root','','tPortal_mysql_vt');

$vt_gelen = $vt->query('SELECT * FROM malzeme');

foreach ($vt_gelen as $mal) {
var_dump($mal);
}
ihsann

kişi bu mesajı beğendi.

wmaraci
wmaraci

monelogg monelogg <> Kullanıcı
  • Üyelik 06.03.2014
  • Yaş/Cinsiyet 33 / E
  • Meslek Öğrenci
  • Konum Diğer
  • Ad Soyad M** B**
  • Mesajlar 658
  • Beğeniler 78 / 125
  • Ticaret 0, (%0)

mamiysr adlı üyeden alıntı

Merhaba, while'dan önce hatanız query sorgusunda, siz "malzemeler" tablosundan çekmeye çalışıyorsunuz ama tablonuzun adı "malzeme",

ben şahsen size şunu önerebilirim, oop başlığına geldiğinizde neden bunu önerdiğimi anlayacaksınız.


$vt = mysqli_connect('localhost','root','','tPortal_mysql_vt');

$vt_gelen = $vt->query('SELECT * FROM malzeme');

foreach ($vt_gelen as $mal) {
var_dump($mal);
}


Hocam çok teşekkür ederim, yönlendirmenizle sorunu hallettim, size zahmet olmazsa iki sorum daha olacaktı,

1. Listeleme işini hallettim fakat veri tabanı da utf-8_general_ci, kodlamada da utf-8_general_ci olmasına rağmen türkçe karakterlerin yerine "?" işareti geliyor. Bunu kodda utf-8_turkish_ci olarak değiştirdim sonuç yine aynı.
tarayıcının kodlaması ile oynama işi de sonuçsuz kaldı. Veri tabanının kodlamasını utf8_turkish_ci yapmayı düşünüyorum ama utf8_general_ci zaten türkçe karakter desteklemiyor mu? Bunu nasıl düzeltebilirim?

2. Hocam önerdiğiniz kodları çalıştırdığımda boş bir sayfa geliyor, biraz araştırdım var_dump galiba değişkenin türünü gösteriyormuş, silip echo filan yazdım ama sonuç değişmedi.
 

 

  • Üyelik 10.11.2024
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar
  • Beğeniler /
  • Ticaret , (%)

monelogg adlı üyeden alıntı

Hocam çok teşekkür ederim, yönlendirmenizle sorunu hallettim, size zahmet olmazsa iki sorum daha olacaktı,

1. Listeleme işini hallettim fakat veri tabanı da utf-8_general_ci, kodlamada da utf-8_general_ci olmasına rağmen türkçe karakterlerin yerine "?" işareti geliyor. Bunu kodda utf-8_turkish_ci olarak değiştirdim sonuç yine aynı.
tarayıcının kodlaması ile oynama işi de sonuçsuz kaldı. Veri tabanının kodlamasını utf8_turkish_ci yapmayı düşünüyorum ama utf8_general_ci zaten türkçe karakter desteklemiyor mu? Bunu nasıl düzeltebilirim?

2. Hocam önerdiğiniz kodları çalıştırdığımda boş bir sayfa geliyor, biraz araştırdım var_dump galiba değişkenin türünü gösteriyormuş, silip echo filan yazdım ama sonuç değişmedi.



1.a veritabanının utf8_bin olması yeterli, onun haricinde php içinde tanımlama yapmana gerek yok, kod yazdığın editörün karakter kodlamasını utf8 bomsuz olarak yaptığından emin ol.
1.b site içerisinde yada kullanman gerekli.

2. var_dump fonksiyonu içine gönderdiğiniz şeyin size açıklamasını yapar. array mi object mi, string mi bool mu int mi float mı vs. değeri, uzunluğu gibi şeyleri görebilirsiniz.
 

 

monelogg monelogg <> Kullanıcı
  • Üyelik 06.03.2014
  • Yaş/Cinsiyet 33 / E
  • Meslek Öğrenci
  • Konum Diğer
  • Ad Soyad M** B**
  • Mesajlar 658
  • Beğeniler 78 / 125
  • Ticaret 0, (%0)

mamiysr adlı üyeden alıntı

1.a veritabanının utf8_bin olması yeterli, onun haricinde php içinde tanımlama yapmana gerek yok, kod yazdığın editörün karakter kodlamasını utf8 bomsuz olarak yaptığından emin ol.
1.b site içerisinde yada kullanman gerekli.

2. var_dump fonksiyonu içine gönderdiğiniz şeyin size açıklamasını yapar. array mi object mi, string mi bool mu int mi float mı vs. değeri, uzunluğu gibi şeyleri görebilirsiniz.


Çok teşekkür ederim mamiysr hocam.

kişi bu mesajı beğendi.

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al