PHP değişkenleri kapsamında sorun

3 Cevap php

Ben bu kodu yazdım

require('Database.class.php');



     function get_info (){



    	$db = new Database($config['server'], $config['user'], $config['pass'], $config['database'], $config['tablePrefix']);
    	$db->connect();


    	$sql = $db->query('SELECT * FROM ja_cat');
    	while ($options = $db->fetch_array($sql)) {

    		$cat[].=" ".$options['title'];
    	}
    	$db->close();
    	return $cat;

sonra ben bu Mysql hata alıyorum

Mysql Hata: Veritabanı seçilmedi.

Ben fonksiyonu içerisine gerektiren talimat koymak ama o işi gayet iyi

3 Cevap

Bu ilk satırı IN sizin get_info () fonksiyonu Yap

global $config;

Ayrıca, kodun başında fonksiyon dışında $ db tanımlamak ve sonra sonunda bağlantıyı kapatmak yerine yeniden bağlamak birden çok kez zorunda isteyebilirsiniz.

Benim tahminim Database.class.php o dayanır bu kapsamda muhtemelen küresel bazı değişkenler yaratır. Eğer fonksiyonu içine gerektiren ve eğer çalışırsa, o teoriyi desteklemektedir. Sınıf mı? Bunu değiştirebilir miyim? Bunu gönderebilir miyim?

Temelde $ config işlevi içinde bir küresel niteleyiciyi gerekiyor.

Sen fonksiyonunun kapsamı içine küresel değişkeni $config ithal etmek zorunda:

function get_info() {
    global $config;
}