Foros del Web » Programando para Internet » PHP »

Problemas con UNION: mysql_fetch_array() y mysql_free_result()

Estas en el tema de Problemas con UNION: mysql_fetch_array() y mysql_free_result() en el foro de PHP en Foros del Web. Código PHP: Hola a todos, Acabo de descubrir la herramienta para pasar bases de datos de Access a MySql y he empezado a pasar un web que tenía con bastantes registros de ASP a PHP, el caso es que mientras he hecho búsquedas simples todo ha ido bien pero hay una parte de la web que tiene un menú desplegable para elegir el modo de búsqueda, se puede elegir entre buscar las películas por Director, Intérprete, Titulo o Todas. El caso es que la búsqueda de todas la tengo hecha con UNION y como mi versión de MySql es la     5.0.51a entiendo que debería de funcionar, el caso es que la búsqueda parece funcionar bien ya que me encuentra los resultados que debería pero después me muestra estos errores justo de antes de ponerme la página y no me muestra los resultados: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\AppServ\www\videoclub_php\buscarmultiple.php on line 118 Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in E:\AppServ\www\videoclub_php\buscarmultiple.php on line 137 No se que hacer para quitarlos ya que no consigo ver el error así que si pudieráis darme alguna pista os lo agradecería mucho, este es el código de la página: <?php      include ( "includes/funciones.php" );    $idcnx  =  conectar ();    $tmultiple =  $_REQUEST [ tmultiple ]; ...
  #1 (permalink)  
Antiguo 18/05/2009, 08:21
 
Fecha de Ingreso: mayo-2009
Mensajes: 14
Antigüedad: 10 años, 10 meses
Puntos: 0
Problemas con UNION: mysql_fetch_array() y mysql_free_result()

Código PHP:
Hola a todos,

Acabo de descubrir la herramienta para pasar bases de datos de Access a MySql y he empezado a pasar un web que tenía con bastantes registros de ASP a PHP, el caso es que mientras he hecho búsquedas simples todo ha ido bien pero hay una parte de la web que tiene un menú desplegable para elegir el modo de búsqueda, se puede elegir entre buscar las películas por Director, Intérprete, Titulo o Todas.

El caso es que la búsqueda de todas la tengo hecha con UNION y como mi versión de MySql es la     5.0.51a entiendo que debería de funcionar, el caso es que la búsqueda parece funcionar bien ya que me encuentra los resultados que debería pero después me muestra estos errores justo de antes de ponerme la página y no me muestra los resultados:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\AppServ\www\videoclub_php\buscarmultiple.php on line 118

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in E:\AppServ\www\videoclub_php\buscarmultiple.php on line 137

No se que hacer para quitarlos ya que no consigo ver el error así que si pudieráis darme alguna pista os lo agradecería mucho, este es el código de la página:

<?php
    
include ("includes/funciones.php");
  
$idcnx conectar();
  
$tmultiple$_REQUEST[tmultiple];
  
$multiple$_REQUEST[multiple];

  switch(
$multiple){
    case 
1:
  
$sql "Select * from Peliculas where Interpretes like '%".$tmultiple."%' ";
  
$sql.= "ORDER by Titulo,Anio ";
  break;
   case 
2:
  
$sql "Select * from Peliculas where Director like '%".$tmultiple."%' ";
  
$sql.= "ORDER by Titulo,Anio ";
  break;
   case 
3:
  
$sql "Select * from Peliculas where Titulo like '%".$tmultiple."%' "
  
$sql.= "ORDER by Titulo,Anio ";
   break;
   case 
4:
$sql "(Select * from Peliculas where Interpretes like '%".$tmultiple."%' ";
$sql.= "ORDER by Titulo,Anio) UNION ";
$sql.= "(Select * from Peliculas where Director like '%".$tmultiple."%' ";
$sql.= "ORDER by Titulo,Anio) UNION ";
$sql.= "(Select * from Peliculas where Titulo like '%".$tmultiple."%' "
$sql.= "ORDER by Titulo,Anio) ";
   break;

}  


    
$resultados mysql_query($sql) or die(mysql_error());
    
$registros 10;
    if (!
$pagina) { 
        
$inicio 0
        
$pagina 1
    } 
    else { 
        
$inicio = ($pagina 1) * $registros
    }     
    
    
$resultados mysql_query($sql);
    
$total_registros mysql_num_rows($resultados); 
    
$sql.= " asc LIMIT $inicio, $registros";
    
$resultados mysql_query($sql);
    
$total_paginas ceil($total_registros $registros);
    
    if(
$total_registros) {
    
    echo 
'<div class="blanco">';
    echo 
'Se han encontrado <span class="negrita">'.$total_registros.' resultados</span>';

    
    while(
$fila mysql_fetch_array($resultados)) {
            
    echo 
'<div class="fila"><div class="lista1">';
    echo 
'<a href="detalle.php?id='.$fila['Id'].'" title="'.$fila['Titulo'].'" >';
    echo 
'<img class="imagen" src="miniaturas/'.$fila['Foto'].'" alt="Portada de "';
    echo 
''.$fila['Titulo'].'" /></a> </div><div class="lista">';
                
    echo 
'<ul><li><span class="negrita"><a href="detalle.php?id='.$fila['Titulo'].'"';
    echo 
' title="'.$fila['Titulo'].'" >'.$fila['Titulo'].'</a></span>';
    echo 
'<a href="buscaranio.php?anio='.$fila['Anio'].'" > ('.$fila['Anio'].')</a></li>';
    echo 
'<li><span class="gris"><a href="buscarpais.php?pais='.$fila['Pais'].'" >';
    echo 
''.$fila['Pais'].'</a></span></li><li><span class="lnegro"><a href="';
    echo 
'buscardirector.php?director='.$fila['Director'].'" >'.$fila['Director'].'</a>';
    echo 
'</span></li><li>'.$fila['Interpretes'].'</li></ul></div></div>';
        }
    } else{
    echo 
'No hay resultados</div>';
    }

mysql_free_result($resultados);                
mysql_close($idcnx);    
    if(
$total_registros) {
        
    echo 
'<div class="paginacion"><div class="pag2">Ir a la página: ';
        
    if((
$pagina 1) > 0) {
            echo 
'<a href="listado.php?id='.$id.'&pagina='.($pagina-1).'">< Anterior</a> ';
        }
        
        for (
$i=1$i<=$total_paginas$i++){ 
            if (
$pagina == $i
                echo 
"<span class='negrita'>".$pagina."</span> "
            else
                echo 
'<a href="listado.php?id='.$id.'&pagina='.$i.'">'.$i.'</a> '
        }
      
        if((
$pagina 1)<=$total_paginas) {
            echo 
'<a href="listado.php?id='.$id.'&pagina='.($pagina+1).'">Siguiente ></a>';
        }
        
        echo 
"</div></div>";
        
    }


?>
  #2 (permalink)  
Antiguo 18/05/2009, 08:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 10 meses
Puntos: 2135
Respuesta: Problemas con UNION: mysql_fetch_array() y mysql_free_result()

Tema trasladado desde MySQL

http://www.forosdelweb.com/f21/funci...-datos-413499/
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:42.