lostyazilim
tr.link

Php İle Veritabanından İki farklı Tablodan Veri Çekmek

3 Mesajlar 4.083 Okunma
lstbozum
tr.link

sahir sahir WM Aracı Kullanıcı
  • Üyelik 23.11.2015
  • Yaş/Cinsiyet 33 / E
  • Meslek webkolik
  • Konum İstanbul Anadolu
  • Ad Soyad N** S**
  • Mesajlar 52
  • Beğeniler 6 / 13
  • Ticaret 0, (%0)

Merhaba arkadaşlar, kendimce php öğrenmeye çalışıyorum ve bir noktada takılı kaldım yardımlarınızı rica ediyorum. Veri tabanımda "ayarlar" ve "menu " isminde iki farklı tablom var. Sitemde bu iki tablodaki verileride farklı farklı noktalarda kullanmak istiyorum. Örneğin menü isimleri ve linkleri için "menü" tablosundan diğer yerler için "ayarlar" tablosundan veri çekmek istiyorum. Şimdiye kadar yapabildiğim sadece tek tablodan veri çekmek oldu. aşağıdaki kodu nasıl düzenlersem her iki tablodan da veri çekebilirim.



$password="";
$server="localhost";
$database="teknoox";

try {


$sıra=1;
$baglanti = new PDO("mysql:host=$server;dbname=$database", "$username", "$password");
$baglanti->exec("SET NAMES utf8");
$baglanti->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$sorgu = $baglanti->prepare("SELECT * FROM ayar WHERE ayar_id = ?");
$sorgu->bindParam(1, $sira, PDO::PARAM_INT);
$sorgu->execute();

$cikti = $sorgu->fetch(PDO::FETCH_ASSOC);



} catch (PDOException $e) {
die($e->getMessage());
}

$baglanti = null;

?>


olayın şu kısmımda olduğunu biliyorum ama gerisini getiremiyorum.

$sorgu = $baglanti->prepare("SELECT * FROM ayar WHERE ayar_id = ?");
$sorgu->bindParam(1, $sira, PDO::PARAM_INT);
$sorgu->execute();

$cikti = $sorgu->fetch(PDO::FETCH_ASSOC);
 

 

wmaraci
reklam

Abdullahx Abdullahx MW Aracı Kullanıcı
  • Üyelik 03.04.2019
  • Yaş/Cinsiyet 29 / E
  • Meslek .
  • Konum Trabzon
  • Ad Soyad A** K**
  • Mesajlar 905
  • Beğeniler 393 / 395
  • Ticaret 3, (%100)
Hocam bence başlarda karışık fonksiyonlara girmeyin bindParam falan kafa karışıklığı olur, sadece veri tabanı sorgusu yapacağınız için de prepare yerine query yazarak işi kısaltabilirsiniz.

$password="";
$server="localhost";
$database="teknoox";

try {

$baglanti = new PDO("mysql:host=$server;dbname=$database", "$username", "$password");
$baglanti->exec("SET NAMES utf8");
$baglanti->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$cikti = $baglanti->query("SELECT * FROM ayar WHERE ayar_id = 1")->fetch(PDO::FETCH_ASSOC);

$cikti2 = $baglanti->query("SELECT * FROM menu WHERE menu_id = 1")->fetch(PDO::FETCH_ASSOC);

} catch (PDOException $e) {
die($e->getMessage());
}
$baglanti = null;

?>

Bu şekilde yapabilirsiniz.
Burda ;
$cikti2 = $baglanti->query("SELECT * FROM menu WHERE menu_id = 1")->fetch(PDO::FETCH_ASSOC);
tek satırda sorgu yaptığınız için fetch(PDO::FETCH_ASSOC) yazdınız, eğer tablo birden fazla satır içeriyorsa ve hepsini çekmek istiyorsanız o kod yerine ya bunu;
$cikti2 = $baglanti->query("SELECT * FROM menu WHERE menu_id = 1")->fetchall(PDO::FETCH_ASSOC);
ya da bunu kullanabilirsiniz;
$cikti2 = $baglanti->query("SELECT * FROM menu WHERE menu_id = 1", PDO::FETCH_ASSOC);

Mobilden yazdım, syntax hatası falan olabilir.
 

 


sahir sahir WM Aracı Kullanıcı
  • Üyelik 23.11.2015
  • Yaş/Cinsiyet 33 / E
  • Meslek webkolik
  • Konum İstanbul Anadolu
  • Ad Soyad N** S**
  • Mesajlar 52
  • Beğeniler 6 / 13
  • Ticaret 0, (%0)
Çok teşekkür ederim işimi gördü.
Abdullahx

kişi bu mesajı beğendi.

wmaraci
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