PHP PDO config dosyası çekmek

Katılım
5 Mart 2019
Mesajlar
1.529
Çözümler
54
Yer
İstanbul/Maltepe
Daha fazla  
Cinsiyet
Erkek
Meslek
PHP Developer
PDO'ya başladım, fakat bir sorunum var.

config.php dosyamdaki veritabanı bilgilerimi guncelleme.php dosyasına include ile çekip veri yazdırmak istiyorum hata alıyorum.
Kodları şöyle vereyim.

config.php
PHP:
<?php

try {
//Veritabanı bağlantımız burada
    $baglanti = new PDO("mysql:host=localhost;dbname=site", "root", "");
    $baglanti->exec("SET NAMES utf8");
    $baglanti->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

//Site ayarlarımızı çektiğimiz kod burada
    $sorgu = $baglanti->query("SELECT * FROM ayarlar");

    $cikti = $sorgu->fetch(PDO::FETCH_ASSOC);
//Site ayarlarımızı çektiğimiz kod burada

$cek = 'SELECT * FROM ayarlar';
 

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

$baglanti = null;

?>

guncelleme.php
PHP:
<?php include "config.php"; ?>
<table cellpadding="4" cellspacing="0" border="0" width="300" style="font-family:Tahoma; font-size:14px; border:solid; border-color:#999999; border-width:1px;">

<tr style="background-color:#dddddd;"><td>No</td><td>Alan1</td><td>Alan2</td><td>İşlem</td></tr>
<?php

foreach($baglanti->query($cek) as $listele) {

$menu3 = $listele['menu3'];

$menu1 = $listele['menu1'];

$menu2 = $listele['menu2'];

echo '<form action="guncelle.php" method="POST"><tr><td><input type="text" name="menu1" value="'.$menu1.'"></td><td><input type="text" name="menu2" value="'.$menu2.'"></td><td><input type="text" name="menu3" value="'.$menu3.'"></td><td><input type="submit" value="Güncelle"></td></tr></form>';

}
?>
</table>

Bu şekilde:

( ! ) Fatal error: Uncaught Error: Call to a member function query() on null in C:\wamp64\www\*\guncelleme.php on line 8
( ! ) Error: Call to a member function query() on null in C:\wamp64\www\*\guncelleme.php on line 8

Bu hatayı alıyorum.

Foreach döngüsü üstüne veritabanı bilgilerimi eklediğimde ;

PHP:
$baglanti = new PDO("mysql:host=localhost;dbname=site", "root", "");
$baglanti->exec("SET NAMES utf8");
$baglanti->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

Hiç hata almıyorum ve veriler listeleniyor. Ama bunu yazmadan yani include komutuyla zaten veritabanı bilgilerini aktarmış oluyorum. Neyi yanlış yapıyorum? Include ile çekmem doğru değil mi ? PDO hariç diğer PHP&MySQL işlemlerinde aynı şekilde kullandım.
 
Son düzenleme:
Uyarı! Bu konu 6 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı