2016-04-05 8 views
-1

Aşağıdaki kodu kullanıyorum 1 tablodan veri seçmek için ? Şunlar gibi:katılmadan tablolar olmadan PHP 2 veya daha fazla SQL sorguları yürütmek için nasıl

mysqli_multi_query kullanmalı mıyım? Ama It ve bind_result sonra nasıl kullanabilirim? Doğru sözdizimini başaramıyorum. Ya da başka bir yolu var mı?

böyle 2 tablolardan veri yazdırmak gerekir: Ben JOINS kullanamaz bazı nedenlerden dolayı

while ($users->fetch()) { ?> 

    <div class="grid-group"> 
    <span>Personal Details</span> 
     <div class="grid-column"> 
      <div class="grid-item header">First Name </div>    
      <div class="grid-item header">Last Name </div> 
      <div class="grid-item header">Picture </div> 
     </div> 
     <div class="grid-column"> 
      <div class="grid-item"><?php echo $FirstName; ?></div>   
      <div class="grid-item"><?php echo $LastName; ?></div> 
      <div class="grid-item"><?php echo $Picture; ?></div> 
     </div> 
    </div> 

    <div class="grid-group"> 
    <span>Foo Bar</span> 
     <div class="grid-column"> 
      <div class="grid-item header">Foo </div>    
      <div class="grid-item header">Bar </div> 
      <div class="grid-item header">FooBar </div> 
     </div> 
     <div class="grid-column"> 
      <div class="grid-item"><?php echo $Foo; ?></div>    
      <div class="grid-item"><?php echo $Bar; ?></div> 
      <div class="grid-item"><?php echo $FooBar; ?></div> 
     </div> 
    </div> 
<?php } ?> 

. Fikrin var mı?

ben boş ekran var

aşağıdaki 2 sorguları hazırlarsanız, GÜNCELLEME:

if(isset($UserID)) {  

    $users = $con->prepare(" 
    SELECT DISTINCT 
     d.FirstName     
     ,d.LastName     
     ,d.Picture 
    FROM Details 
    WHERE d.UserId = ? 
    "); 

    $users->bind_param('i', $GetUserId); 
    $users->execute(); 

    $users->bind_result(  
     $FirstName,    
     $LastName,   
     $Picture 
    ); 

    $users2 = $con->prepare(" 
    SELECT DISTINCT 
      Foo    
     , Bar    
     , FooBar 
    FROM Bizz 
    WHERE UserId = ? 
    "); 

    $users2->bind_param('i', $GetUserId); 
    $users2->execute(); 

    $users2->bind_result(  
     $Foo,   
     $Bar,   
     $FooBar 
    ); 

} else { 
    echo "There is no User ID detected, try to refresh browser."; 
} 
while ($users->fetch()) { ?> 
... 

Sana fikir var mı?

error_reporting(-1); 

Ayrıca gerçekleşebilir hatalarını göstermek için bazı kod eklemek:

+0

Bu 2 tablo arasında bir bağlantı var mı? Ya da sadece 2 ayrı sorgu yapabilir misin? – Random

+0

Sadece yeni bir sorgu hazırlayıp yürütebilirsiniz? neden yapamadığını anlamıyorum – Jester

+0

@Random Basit kullanım ayrı sorgular istiyorum. – Infinity

cevap

0

Eğer error_reporting açmak zorunda boş bir ekran almak neden her şeyden önce php kodu başında aşağıdakileri ekleyin bilmek MySQL:

if(isset($UserID)) {  

$users = $con->prepare(" 
SELECT DISTINCT 
    d.FirstName     
    ,d.LastName     
    ,d.Picture 
FROM Details 
WHERE d.UserId = ? 
"); 
if (!$users) { 
    echo 'MySQL Connect Error in Query: (' . $mysqli->errno . ') '; 
} 

$binding = $users->bind_param('i', $GetUserId); 
if (!$binding) { 
    echo 'MySQL Connect Error in Query: (' . $mysqli->errno . ') '; 
} 

if($users->execute() == false) { 
    echo 'Error: ' . $con->error; 
} 

$binding_results = $users->bind_result(  
    $FirstName,    
    $LastName,   
    $Picture 
); 
if (!$binding_results) { 
    echo 'MySQL Connect Error in Query: (' . $mysqli->errno . ') '; 
} 

$users2 = $con->prepare(" 
SELECT DISTINCT 
     Foo    
    , Bar    
    , FooBar 
FROM Bizz 
WHERE UserId = ? 
"); 
if (!$users2) { 
    echo 'MySQL Connect Error in Query: (' . $mysqli->errno . ') '; 
} 

$binding2 = $users2->bind_param('i', $GetUserId); 
if (!$binding2) { 
    echo 'MySQL Connect Error in Query: (' . $mysqli->errno . ') '; 
} 

if($users2->execute() == false) { 
    echo 'Error: ' . $con->error; 
} 

$binding_results2 = $users2->bind_result(  
    $Foo,   
    $Bar,   
    $FooBar 
); 
if (!$binding_results2) { 
    echo 'MySQL Connect Error in Query: (' . $mysqli->errno . ') '; 
} 

İlk sorgunuzda bir hata görüyorum. d.FirstName kullanıyorsunuz, burada tablo adı olarak

+0

getiriliyor Yine de boş ekran, bu 'd' takma ile ilgili değil, sadece örnek vermişken yazdım. Ve ayrıca 'error_reporting' daha önce açıktı. 'if ($ users-> execute() == false) {' da yardımcı olmadı. – Infinity

+0

Bu yüzden bu soruyu sordum, basitçe 2 sorgu kullanamaz gibi görünüyor. – Infinity

+0

Hazırlama, bağlama ve yürütme sonrasında yakalama mysql hataları eklemeniz gerekir. Ayrıca bundan önce çıkardığınız herhangi bir php kodu var mı? – Jester

İlgili konular