• 15-12-2020, 23:40:20
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba,

    <?phpinclude("../config.php");$data = [];
    $sorgu="SELECT * FROM events ORDER BY id";
    $sonuc = mysqli_query($link, $sorgu);
    $gelen = mysqli_fetch_array($sonuc, MYSQLI_NUM);
    
    
    
    foreach($gelen as $row) {
        $data[] = [
            'id'              => $row->id,
            'title'           => $row->title,
            'start'           => $row->start_event,
            'end'             => $row->end_event,
            'backgroundColor' => $row->color,
            'textColor'       => $row->text_colo
        ];}
    echo json_encode($data);
    şeklinde kodum var, fakat PHP Warning: Invalid argument supplied for foreach() in /home/c....
    şeklinde hata alıyorum.
    Nasıl bir çözüm bulmalıyım fikri olan?
  • 16-12-2020, 00:13:22
    #2
    Üyeliği durduruldu
    sonuc olmadigi icin mysqli_fetch_array null dönüyor. Bunu kontrol ettirmeniz gerekiyor.

    if($gelen)
    {
    foreach($gelen as $row) {
    $data[] = [
    'id' => $row->id,
    'title' => $row->title,
    'start' => $row->start_event,
    'end' => $row->end_event,
    'backgroundColor' => $row->color,
    'textColor' => $row->text_colo
    ];
    }
    }
  • 16-12-2020, 01:19:00
    #3
    veritabanında veri var (kontrol ettim)
    sorgumda bir sorun yok (kaç kez kontrol ettim belli değil )
    harf hatası olabilir mi diye kaç kez baktım

    hatta while içine alınca fetch_assoc ile sonuç geliyor ama dizi içine atamıyorum


    <?php
    include("config.php");
    
    
    $sorgu="SELECT * FROM events ORDER BY id";
    $sonuc = $link->query($sorgu);
    $gelen = $sonuc->fetch_array(MYSQLI_NUM);
    
    if (is_array($gelen) || is_object($gelen)){ foreach($gelen as $row) {
        $data[] =
    [        
    'id'              => $row->id,        
    'title'           => $row->title,        
    'start'           => $row->start_event,        
    'end'             => $row->end_event,        
    'backgroundColor' => $row->color,        
    'textColor'       => $row->text_color              
    ];                      
     }                      
     }
    print_r ($gelen);
    ?>
    $gelen olunca Notice: Trying to get property 'text_color' of non-object in /home/ şeklinde hata veriyor. sonuç olarak

    Array ( [0] => 1 [1] => açıklama [2] => 2020-12-16 00:07:06 [3] => 2020-12-17 00:07:06 [4] => #123 [5] => #234 )

    basıyor ama print_r ($data);

    diyince aynı hataları vermekle birlikte sonuç olarak sadece Array yazıyor
  • 16-12-2020, 08:33:38
    #4
    Aslında size hata vermiyor, uyarı veriyor.
    $gelen = $sonuc->fetch_array(MYSQLI_NUM);
    benden sonucu array olarak üretmemi istedin ama sen object olarak kullanıyorsun diyor.
    $gelen = $sonuc->fetch_object(MYSQLI_NUM);
    üstteki şekilde değişiklik yaparsan düzelir.