2016-06-07 11 views
0

Ich glaube, dass die folgenden Codes nicht funktionieren können, da sie mehr als 1 Zeile erzeugen.Wie speichern Sie die Datenbankausgabe in einer Variablen, wenn die SQL-Anweisung mehr als 1 Zeile oder Daten erzeugen kann

while($row = $result1->fetch_assoc()) 
    { 
     $ExpertiseName = $row['Expertise_Name']; 
     $Years = $row['Number_Of_Years']; 
    } 

    echo $ExpertiseName; 
    echo $Years; 
+0

der Code funktioniert aber Echo nur den letzten Wert – scaisEdge

+0

es produziert mehr als eine Zeile. Sie überschreiben einfach ständig Ihre Variablen mit den Daten jeder neuen Zeile. Sie müssen die Werte in einem Array speichern oder sie innerhalb der Schleife echotieren. –

Antwort

0

können Sie verwenden, zB: ein paar Array für Speicher das Ergebnis

$nCnt = 0; 
while($row = $result1->mysqli_fetch_assoc()) 
{ 
    $ExpertiseName[$nCnt] = $row['Expertise_Name']; 
    $Years[$nCnt] = $row['Number_Of_Years']; 
    $nCnt++; 
} 

und eine Schleife für Echo

for($i; i<count($Years); $i++) { 
    echo $ExpertiseName[$i]; 
    echo $Years[$i]; 
} 

bevor Sie für das Ergebnis überprüfen sollten

if ($result = mysqli_query($connect, $qry2))){ 

    $nCnt = 0; 
    while($row = $result1->mysqli_fetch_assoc()) 
    { 
    $ExpertiseName[$nCnt] = $row['Expertise_Name']; 
    $Years[$nCnt] = $row['Number_Of_Years']; 
    $nCnt++; 
    } 

for($i; i<count($Years); $i++) { 
    echo $ExpertiseName[$i]; 
    echo $Years[$i]; 
    } 
} 

Ich habe Ihre qu leicht korrigiert Ery, das Endzitat entfernt und addiert e. zu Particulats_ID (Hoffnung ist righe) und einen Raum zwischen $ ID Hinzufügen und dem „und ..“ Klausel ..

"Select Expertise_Name, Number_Of_Years 
from expertise e, expertise_particulars ep 
where e.Particulars_ID = ". $ID ." 
and e.Expertise_ID = ep.Expertise_ID;"; 
+0

@JayBlanchard nur die Zeit für die Fertigstellung .. es. – scaisEdge

+0

Schwerwiegender Fehler: Aufruf einer Memberfunktion fetch_assoc() auf Boolean in C: \ XAMMP \ htdocs \ FYP3 \ CV.php in Zeile 82. Dieser Fehler ist aufgetreten. Das ist die Zeile While ($ row = $ result1 -> fetch_assoc()) – Samuel

+0

Sie sind sicher, dass die Abfrage Zeilen zurückgibt .. Sie sollten dies überprüfen, bevor – scaisEdge

0

einen Punkt vor dem gleich hinzufügen (. =), so dass die Werte an die angehängt werden Variable, anstatt sie in jeder Schleife zu ersetzen. Fügen Sie am Ende einen Zeilenumbruch oder ein Komma hinzu, um neue Daten hinzuzufügen.

while($row = $result1->fetch_assoc()) 
{ 
    $ExpertiseName .= $row['Expertise_Name'].'<br>'; 
    $Years .= $row['Number_Of_Years'].'<br>'; 
} 

echo $ExpertiseName; 
echo $Years; 
0

Ändern Sie Ihre Abfrage finden Raum vor and Klausel

$qry2 = "Select Expertise_Name, Number_Of_Years from expertise e, expertise_particulars ep where e.Particulars_ID =". $ID ." and e.Expertise_ID = ep.Expertise_ID"; 

Und ändern e.Particulars_ID oder ep.Particulars_ID wo diese Spalte ist, gehört.