Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/12/2003, 17:21
Avatar de jpinedo
jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Ya se ha dicho esto antes... pero no está de más...

Cuatro cosas:

1.-)Para poder localizar errores de este tipo con mayor transparencia, es mejor guardar en una variable la cadena que se pasará como parámetro de una función.

2.-)Pide a mysql que te informe de errores.

3.-)Mejor separa los arrays en las cadenas... no estoy muy seguro, pero creo que eso da problemas. Utiliza el operador punto para concatenar.

4.-)Utiliza comillas simples para los valores en una SQL.

O sea que tu código sería más fácil de manejar así:
Código PHP:
//Seleccionar la bd previamente:
mysql_select_db($base$conexion) or die("Error al seleccionar DB :".mysql_error());

//Guardas en una variable la cadena con la consulta:
$sql="SELECT actividad.id_act FROM actividad, detalle_actividad where actividad.cod='61'";

//Realizas la consulta:
$campos=mysql_query($sql) or die("Error en consulta 1: ".mysql_error());

//********************************//

//Y de la misma forma en la otra consulta:

while($listado=mysql_fetch_assoc($campos)) {

$sql2="SELECT * FROM empleado where id_emp='".$listado['id_act']."'" 
$sqlemp=mysql_query($sql2) or die("Error en consulta 2:".mysql_error());
$emp=mysql_fetch_assoc($sqlemp);
echo 
$emp['nombre']; 
El die() detendrá la ejecución del script y te informará del error mysql.
El hecho de separar las cadenas de SQL en variables, te permitirá verificar que se esté pasando una sentencia válida... por ejemplo, si te sale que no es un argumento válido... le agregas la línea echo $sql; y te mostrará el sql que estás pasando...
Es cierto que son unas cuantas líneas de más, pero tendrás más control de los errores en tu código.

Te recomiendo leer la página de josemi... hay muchos consejos sobre esto.

Saludos

Última edición por jpinedo; 31/12/2003 a las 17:22