我需要帮助。
我有一个存储过程(没有参数)在我的MySQL(phpMyAdmin)数据中运行,这个过程返回很多行。我将此过程称为PHP mysql_query并且第一次工作,但是如果您重新访问该页面或重新加载该页面,则会出现错误消息:"命令不同步您现在无法运行此命令"
然后,我复制了代码,以便您可以帮助我:
存储过程是:
stored procedure on PhpMyAdmin
我的PHP文件是:
<?php require_once('../Connections/PARTEGEST.php'); ?>
<?php
//---------------ADRIAN!!!!!!!!!!!!!!
mysql_select_db($database_PARTEGEST, $PARTEGEST);
$query_partesPorObra = "CALL seguimientoHorasTotalesObra()";
//SI SE QUIERE MOSTRAR TODOS LOS OPERARIOS QUE HAN HECHO PARTES DE UNA OBRA EN CONCRETO Y CUANTO LLEVA CADA UNO DEDICADO A ESA OBRA, AGRUPAR POR PARTES.OPERARIO Y HABILITAR
//EL CAMPO OPERARIO EN LA TABLA, CON EL NOMBRE (OPERARIOS.NOMBRE)
$partesPorObra = mysql_query($query_partesPorObra, $PARTEGEST) or die(mysql_error());
$row_partesPorObra = mysql_fetch_assoc($partesPorObra);
$totalRows_partesPorObra = mysql_num_rows($partesPorObra);
?>
<!-- DataTables JavaScript -->
<script src="../bower_components/datatables/media/js/jquery.dataTables.min.js"></script>
<script src="../bower_components/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.min.js"></script>
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Seguimiento Horas Totales de Obras</h1>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="panel panel-success">
<div class="panel-heading">Horas Totales por Obra</div>
<!-- /.panel-heading -->
<div class="panel-body">
<div class="dataTable_wrapper">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover" id="dataTables-example">
<thead>
<tr>
<th>OBRA</th>
<th>ESTADO</th>
<th>HORAS</th>
<th>H.ASIGNADAS</th>
</tr>
</thead>
<tbody>
<?php do {
echo "<tr class='gradeA'>";
echo "<td>".$row_partesPorObra['descripcion']."</td>";
if($row_partesPorObra['finalizado']=="Y"){
echo "<td class='center'>".$row_partesPorObra['finalizado']="Cerrado"."</td>";
}
else{
echo "<td class='center'>".$row_partesPorObra['finalizado']="Abierto"."</td>";
}
echo "<td class='center'><center><b>".$row_partesPorObra['hours']."h</b></center></td>";
echo "<td class='center'><center><b>".$row_partesPorObra['horas']."h</b></center></td>";
echo "</tr>";
} while ($row_partesPorObra = mysql_fetch_assoc($partesPorObra));?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<?php
mysql_free_result($partesPorObra);
?>
&#13;
请帮助,这是我的工作。
谢谢!
答案 0 :(得分:0)
当您调用存储过程时,它将返回一个或多个结果集,每个结果集可能有自己的一组行。
在您的情况下,您必须在mysql_next_result($connection)
语句后使用mysql_free_result
,然后您可以使用相同的连接再次调用存储过程。