2016-06-27 3 views
-1

У меня есть страница, где я размещаю все свои функции, которые делают вызовы в базе данных. На моей странице отображения я пытаюсь сделать вызовы для двух отдельных функций. Разве это невозможно сделать? Ниже мой код.PHP Вызов нескольких функций

<?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>"; 
       } 
      ?> 

Каждый метод вызывает другую хранимую процедуру.

Каждый метод корректно возвращает данные, пока они не будут вызваны один за другим.

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(); 
    } 
} 

Любая помощь очень ценится.

Спасибо, bnjmnmyers

+2

Вы можете вызвать столько отдельных функций, как вы хотите. –

+0

Почему вы думаете, что это невозможно? –

+1

По какой-то причине, когда я пытаюсь сделать второй звонок, когда я прохожу через него, ничего мне не даст, но если я прокомментирую первый, тогда он будет работать. –

ответ

3

Ваших функции не закрывало ихний SQL соединения, так как mysql_close функций помещаются после операции возврата. Попробуйте заменить эту часть вашего кода функции

return $result; 

mysql_close(); 

с этим

mysql_close(); 

return $result; 
+0

Небольшое объяснение было бы полезно для будущих читателей. Что вызвало проблему и как ее код решает эту проблему? – showdev

+2

Спасибо @showdev за привлечение внимания к отсутствию разъяснений в моем ответе. Я уже издал. – zajonc

Смежные вопросы