2016-05-10 28 views
1

Meine gespeicherte Prozedur funktioniert nur bei der ersten Iteration. Mein Code:Gespeicherte Prozeduren PHP

// Display Event 
$result = mysql_query("select ....",$connection_mercury); 

while($row = mysql_fetch_array($result)) 
{ 
    $id = $row['id']; 

    $provider = $row['name']; 

    $details = mysql_query("CALL $my_schema_to_use.getRefId($provider);",$connection); 

    while($b_row = mysql_fetch_array($details)) 
    { 
     $details_result = $b_row['age'] . " - " . $b_row['address']; 
    } 

    echo "<td>$details_result</td><td>$id</td> 
} 

Lässt die äußere sagen while-Schleife hat zwei Schleifen wie erwartet. Aber der 'CALL' gibt immer nur einen Wert in der ersten Schleife zurück. Die Variable $details bleibt für jede Schleife nach der ersten immer leer.

+2

Jeder "innere" sein Schleife Sie overwritting Ihre $ details_result variabel. Jede "äußere" Schleife überschreiben Sie Ihre $ details Variable. –

+0

FYI, mysql_ Funktionen sind veraltet und wurden in neueren Versionen von PHP entfernt, z. http://php.net/manual/en/function.mysql-query.php – wogsland

+0

Ich überschreibe die Variablen, aber ich denke, dass Bit ist ok, da ich den Variablenwert vor dem Überschreiben gedruckt habe. Also ich denke, das Problem ist, dass die Variable $ Details nicht auf der zweiten Iteration der äußeren Schleife gefüllt ist. Was denkst du? Nochmals vielen Dank für die Antwort – por

Antwort

0

$ details_result Variable überschreiben mit innerer Schleife.

while($b_row = mysql_fetch_array($details)) 
    { 
     $details_result = $b_row['age'] . " - " . $b_row['address']; 
    } 

-Code sollte

while($b_row = mysql_fetch_array($details)) 
{ 
    $details_result[] = $b_row['age'] . " - " . $b_row['address']; 
} 
+0

Vielen Dank für Ihre Antworten. Aber das Problem ist: Die innere Schleife wird nur beim ersten Mal ausgeführt. Dies liegt daran, dass $ details für jede Iteration nach der ersten Ausführung von CALL leer ist. Also ich denke, das Problem ist, bevor es in die innere While-Schleife kommt, was denkst du? – por

Verwandte Themen