Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/02/2011, 08:56
rufus
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 14 años, 11 meses
Puntos: 1
problema con buscador (error en sentencia sql)

Que tengo un buscador. que al poner un titulo de una pelicula me da un error de sentencia mysql en php os pongo el codigo y lo voy comentando.

1. usando el buscador este me redirecciona a busqueda.php

en busqueda.php tengo el siguiente codigo:
Código PHP:
<?php require_once("../../includes/initialize.php"); ?>
<?php incluir_plantillas
("admin_header.php"); ?>
<?php
    $titulo
=$_POST['busqueda'];
            
    
$search Foto::buscar_por_titulo($titulo);

            
      
?>


<?php
    
foreach($search as $row)
    {
?>
<?php        
        
echo '<div id="mostrarimagen">';
        echo 
'<img src="../images'.$row['archivo'].'" width="130px" height="180px"></img>';    
        echo 
"</div>";
        echo 
"<div id='mostrarpeli'>";
        echo 
"<ul>";
        echo 
"<li><b>Titulo:</b></li>" .$row['titulo']; 
        echo 
"<li><b>año:</b></li>" .        $row['ano']; 
        
        echo 
"<li><b>genero:</b></li>" .$row['genero']; 
        echo 
"<li><b>calidad:</b></li>" .$row['calidad'];
        echo 
"<li><b>idioma:</b></li>" .$row['idioma'];
        
//echo '<li><img src="'.$row['ruta'].'" width="130px" height="180px"></img></li>';
        //echo "<li><b>tipo:</b></li>" .$row['tipo'];
        //    echo "<li><b>size:</b></li>" .$row['size'];
        
echo "<li><b>comentario</b></li>" .$row['comentario'];
        echo 
"</ul>";
        echo 
"</div>";

    }
?>



<?php incluir_plantillas("admin_footer.php"); ?>
como veis tenngo una variable $titulo que recibe el dato $_post del formulario, es decir el campo titulo donde ingreso el titulo de la pelicula a buscar.

luego tengo una variable donde almaceno el resultado de usar la funcion bucar_por_titulo($titulo), esta funciona esta dentro de la clase Foto que esta en otro archivo. os dejo el codigo de la funcion:

Código PHP:
    public static function buscar_por_titulo($titulo)
    {
    global 
$bd;
        return static::
buscar_por_sql(" SELECT titulo , ano , genero , calidad , idioma , comentario FROM " .static::$nombre_tabla.
                                    
" where titulo={$titulo}");
    } 

El fallo de la sentencia mysql está en el where de la sentencia que esta dentro de la funcion.

este es el error que me da el navegador = Unknown column 'perra' in 'where clause'
Ultima consulta sql: SELECT titulo , ano , genero , calidad , idioma , comentario FROM fotos where titulo=perra

por que este error? no me manejo bien con las funciones haber. la funcion la e declarado que tiene un parametro o argumento = $titulo.

y en busqueda.php cuando llamo a la funcion le paso como parametro $titulo y antes de la funcion tengo $titulo=$_POST['busqueda'];

que estoy haciendo mal?