2016-06-27 12 views
-1

Ich habe eine Seite, wo ich alle meine Funktionen gehöre, die Anrufe an die Datenbank machen. Auf meiner Anzeigeseite versuche ich zwei separate Funktionen zu tätigen. Ist das nicht möglich? Unten ist mein Code.PHP Aufruf von mehr als einer Funktion

<?php 
include 'includes/getData.php'; 
$memberBios = getActiveMemberBios(); 
$internBios = getActiveInternBios(); 
?> 

<h3>Members</h3> 
      <?php 
       while($member = mysql_fetch_array($memberBios)) 
       { 
        $bioPic = $member['bioPic']; 
        $bioText = $member['bioText']; 
        $firstname = $member['firstname']; 
        $maidenname = $member['maidenname']; 
        $memberRole = $member['memberRole']; 
        $lastname = $member['lastname']; 

        echo 
        "<div class='row row__off-1 col-lg-12 wow fadeInUp' data-wow-delay='0.2s'> 
         <div class='col-lg-3 col-md-3 col-sm-12'> 
          <div class='text-center'> 
           <img src='".$bioPic."' alt='Biography Picture of Zion Dance Company Member '".$firstname.' '.$lastname." title='Biography Picture of Zion Dance Company Member '".$firstname.' '.$lastname. "height='305' width='270'/> 
          </div> 
         </div> 
         <div class='col-lg-9 col-md-9 col-sm-12 text-center-xs'> 
          <h5 class='font-secondary-3'> 
           <a href='#'>".$firstname.' '.$maidenname.' '.$lastname."</a> 
          </h5> 
          <p class='color-primary off'>".$memberRole."</p> 

          <p>".$bioText."</p> 
         </div> 
        </div>"; 
       } 
      ?> 
      <h3>Interns</h3> 
      <?php 
       while($intern = mysql_fetch_array($internBios)) 
       { 
        $bioPic = $intern['bioPic']; 
        $bioText = $intern['bioText']; 
        $firstname = $intern['firstname']; 
        $maidenname = $intern['maidenname']; 
        $memberRole = $intern['memberRole']; 
        $lastname = $intern['lastname']; 

        echo 
        "<div class='row row__off-1 col-lg-12 wow fadeInUp' data-wow-delay='0.2s'> 
         <div class='col-lg-3 col-md-3 col-sm-12'> 
          <div class='text-center'> 
           <img src='".$bioPic."' alt='Biography Picture of Zion Dance Company Member '".$firstname.' '.$lastname." title='Biography Picture of Zion Dance Company Member '".$firstname.' '.$lastname. "height='305' width='270'/> 
          </div> 
         </div> 
         <div class='col-lg-9 col-md-9 col-sm-12 text-center-xs'> 
          <h5 class='font-secondary-3'> 
           <a href='#'>".$firstname.' '.$maidenname.' '.$lastname."</a> 
          </h5> 
          <p class='color-primary off'>".$memberRole."</p> 

          <p>".$bioText."</p> 
         </div> 
        </div>"; 
       } 
      ?> 

Jede Methode ruft eine andere gespeicherte Prozedur auf.

Jede Methode gibt die Daten ordnungsgemäß zurück, bis sie nacheinander benannt werden.

function getActiveMemberBios() 
{ 
    mysql_connect(ZDANCE_CONNECTION, ZDANCE_USER, ZDANCE_PASS); 
    if(mysql_ping()) 
    { 
     mysql_select_db(ZDANCE_HOST); 
     $result = mysql_query("CALL usp_GetMemberBios(1)") or die("Query fail: " . mysql_error()); 

     return $result; 

     mysql_close(); 
    } 
} 

function getActiveInternBios() 
{ 
    mysql_connect(ZDANCE_CONNECTION, ZDANCE_USER, ZDANCE_PASS); 
    if(mysql_ping()) 
    { 
     mysql_select_db(ZDANCE_HOST); 
     $result = mysql_query("CALL usp_GetInternBios(1)") or die("Query fail: " . mysql_error()); 

     return $result; 

     mysql_close(); 
    } 
} 

Jede Hilfe wird sehr geschätzt.

Danke, bnjmnmyers

+2

ersetzen Sie so viele verschiedene Funktionen aufrufen können, wie Sie möchten. –

+0

Warum denkst du, dass das nicht möglich ist? –

+1

Aus irgendeinem Grund, wenn ich versuche, dass der zweite Anruf, wenn ich durchschlinge, wird mir nichts geben, aber wenn ich den ersten auskommentieren, dann funktioniert es. –

Antwort

3

Ihre Funktionen ihre SQL-Verbindungen nicht schließen, weil mysql_close Funktionen nach der Rückkehr Betrieb gesetzt werden. Versuchen Sie diesen Teil Ihrer Funktionen Code

return $result; 

mysql_close(); 

mit diesem

mysql_close(); 

return $result; 
+0

Eine kleine Erklärung wäre für zukünftige Leser hilfreich. Was hat das Problem verursacht und wie löst es dein Code? – showdev

+2

Dank @showdev für die Aufmerksamkeit auf die fehlende Klarheit in meiner Antwort zu lenken. Ich habe schon eine Ausgabe gemacht. – zajonc

Verwandte Themen