• 31-03-2015, 21:23:11
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    merhaba..

    veritabanından aldığım değerleri json formatında ekrana basmak istiyorum ama bir türlü olmuyor. bool(false) değeri döndürüyor.

    $dbh = new PDO("mysql:host=localhost;dbname=dbadi", "dbuser", "dbsifre");
    $stmt = $dbh->query("SELECT * FROM siniflar");
    $data = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    //print_r($data);
    $json = json_encode($data);
    var_dump($json);
    $data'yı print_r ile ekrana bastığımda bir sorun yok. sonuçları basıyor ama json_encode yapınca bir sonuç alamıyorum.

    Sorun neden kaynaklanır..


    Teşekkür ederim.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 20:23:11 -->-> Daha önceki mesaj 19:21:44 --

    kodu aşağıda ki şekilde güncelledim..

    $dbh = new PDO("mysql:host=localhost;dbname=dbadi", "dbuser", "dbsifre"); 
    $stmt = $dbh->query("SELECT * FROM siniflar");
    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
    //print_r($rows);
    $liste = array();
    foreach ($rows as $row) {
    	$list = array();
    	$list["tur"] = $row["tur"];
    	$list["kod"] = $row["kod"];
    	//$list["sinif"] = $row["sinif"];
    	//$list["tehlike"] = $row["tehlike"];
    	array_push($liste, $list);
    }
    echo json_encode($liste);
    şimdi eğer db'de ki sinif ve tehlike kolonlarını eklersem çıktı alamıyorum. ama tur ve kod kolonlarında çıktı alabiliyorum.
  • 07-04-2015, 02:22:25
    #2
    Sorguyu bu şekilde değiştirdim ve sorunum çözüldü.

    try {
    	$dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);	
    	$dbh->exec("set names utf8");
    	$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    	$stmt = $dbh->query($sql);  
    	$employees = $stmt->fetchAll(PDO::FETCH_OBJ);
    	$dbh = null;
    	echo json_encode($employees); 
    } catch(PDOException $e) {
    	echo '{"error":{"text":'. $e->getMessage() .'}}'; 
    }
    Asıl sorun karakter setlerinden kaynaklanıyormuş..