2016-03-24 10 views
0

üzerine, bir dosya üzerinde çalışan. Aşağıdaki ŞimdiMYSQL PHP Script Şu anda bir PHP komut dosyası ile bağlantılı bir fabrika ile bir veritabanı sorgulama bir angularjs uygulamaya sahip değil başka

<?php 
function getCompanyDetails($company_id) 
    { 
     // Connect to the database. 
     require_once("config/connection.php"); 

     $query = "SELECT id, header, content FROM company_details WHERE company_id = ?;"; 

     $stmt = $conn->stmt_init(); 

     if($stmt->prepare($query)) { 
      $stmt->bind_param("i", $company_id); 
      $stmt->execute(); 

      $data = $stmt->get_result(); 

      while($row = $data->fetch_assoc()) { 
       $result[] = $row; 
      } 

      header("Access-Control-Allow-Origin: *"); 
      header("Content-Type: application/json; charset=UTF-8"); 

      $stmt->close(); 
      mysqli_close($conn); 
      echo json_encode($result); 
     } 
    } 

getCompanyDetails(1); 

?> 

, ben (veritabanından sonuçlar seçilmesi) aynı işlem yapılması gereken uygulamanın diğer bölümleri var ve kullanıyorum: komut aşağıda planlandığı gibi tam olarak çalışır ve Açısal için kullanılan JSON verir komut (yukarıdaki birine hemen hemen aynı kopya):

<?php 
function getCompanyProjects($company_id) 
    { 
     // Connect to the database. 
     require_once("config/connection.php"); 

     $query = "SELECT title, description FROM company_projects WHERE company_id = ?;"; 

     $stmt = $conn->stmt_init(); 

     if($stmt->prepare($query)) { 
      $stmt->bind_param("i", $company_id); 
      $stmt->execute(); 
      $data = $stmt->get_result(); 

      while($row = $data->fetch_assoc()) { 
       $result[] = $row; 
      } 

      header("Access-Control-Allow-Origin: *"); 
      header("Content-Type: application/json; charset=UTF-8"); 

      $stmt->close(); 
      mysqli_close($conn); 
      echo json_encode($result); 
     } 
    } 

getCompanyProjects(1); 

?> 

sorun, ikinci komut herhangi bir sonuç olacaktır. Tabloda veritabanında kayıtlar var ve her kullanımdan sonra bağlantıyı kapattığımı düşünüyorum. Bir süredir bu konuya takıldım, sorunun ne olabileceği konusunda bir fikri olan var mı?

sorgu phpMyAdmin üzerinde SELECT title, description FROM company_projects WHERE company_id = ?; çalışır.

Şimdiden teşekkürler.

+0

'' '(noktalı virgül) 'den sonra' 'gerekli' bence. –

+0

Sadece '' 'kaldırıldı, bir fark yaratmış gibi görünmüyor, evet. – Lucas

+0

Belki bir hata var, MySQL günlüğünde bir şey görüyor musunuz? Ve/veya belki bir kaç tuhaf bir şey yakalayıp yakalayamayacağınızı görmek için orada 'if (mysqli_connect_errno()) ifadeleri ekleyin? – avip

cevap

0

, fetch_assoc(), fetch_array(), mysqli_fetch_assoc() ve diğerleri çalışırken sunucuyu birkaç kez sıfırlanması, her yerde echos ve var_dumps koyduktan sonra, bütün veriler while bölümünde kadar alınan edildiğini fark etti. Aslında döngü içindeyken var_dump iterated

, ben tanınmayan karakter için biraz sembolü gördü. Son sonuçlardan birinde bir alıntı yapılmadı. Bu küçük arkadaşı kaldırdıktan sonra, fetch_assoc() tekrar iyi çalışmaya başladı. Sorun kodda değil gerçek verilerdeydi. Her iki betik de doğru verilerle şimdi düzgün çalışıyor. Tüm yardım için

sayesinde, herkes! Bu soruyu sormadan önce var_dump'un ne olduğunu hiç bilmiyordum, gerçekten kullanışlı bir işlev.

İlgili konular