Si reinicias la conexión, la variable "@total" muere. No podrás leerla y te dará NULL.
Lo que puede corresponder usar es o tes variables distintas para los result, o bien liberar los recursos una vez terminados:    
Código PHP:
Ver original- if($link1) 
-     $sql = "set @total='';"; 
-     if($resultado1) 
-         {$sql = "CALL procedure1('17')"; 
-         if($resultado2) 
-             {$sql = "SELECT @total"; 
-               } 
-          } 
o bien:   
Código PHP:
Ver original- if($link1) 
-     $sql = "set @total='';"; 
-     if($resultado) 
-         {$sql = "CALL procedure1('17')"; 
-         if($resultado) 
-             {$sql = "SELECT @total"; 
-               } 
-          } 
De todos modos te recuerdo que esto ya es tema del 
Foro de PHP.