Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/01/2007, 09:07
Avatar de Erikfrancisco
Erikfrancisco
 
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 22 años, 10 meses
Puntos: 4
Re: Buscar un array en un campo varchar

Te mando ese error porque el operador IN sirve para devolver aquellos registros cuyo campo indicado( en nuestro caso modo ) coincide con alguno de los de la lista( $cadena ). Porque no pruebas el código tal y como te lo puse, te lo vuelvo a dar pero como un caso práctico:
Código PHP:
<?php 
// aquí debes poner tu array con las palabras a buscar yo puse estas pero puedes cambiarselas
$mode = array( 'es', 'la', 'los', 'este' );
// nos conectamos con el servidor
$con = mysql_connect( 'servername', 'username', 'password' ); 
// seleccionamos la base de datos que bamos a utilizar
$db = mysql_select_db( 'basededatos' ); 

// Combertimos en cadena nuestro array con ayuda de la función implode() con lo que la variable cadena contendrá ahora: "es, la, los, este"
$cadena = implode( "," $mode );
// hacemos la estructura de nuestra consulta con lo que el resultado sólo contendrá aquellos registros que contengan en el campo modo las palabras que están en la variable $cadena
$consulta = "SELECT * FROM tabla WHERE modo In ( ".$cadena." )";
$res = mysql_query( $res ); 
$num_res = mysql_num_rows( $res ); 

if ( !
$num_res > 0 ) 
{ 
   echo 
"No se obtuvieron resultados de la consulta"; 
   exit; 
} 
else 
{ 
   while( 
$fila = mysql_fetch_array( $res ) ) 
   { 
       
// no hay necesidad de hacer otro bucle ( en tu caso quieres hacer otro bucle for para hacer una consulta )
      // eso no es necesario ya que especificamos en la consulta que sólo queremos los registros que coincidan con las palabras que están en la variable $cadena
       
echo $fila['nombre_campo'];  
   } 
   
mysql_close( $res ); 
} 
?>
Con respecto a tu duda ¿como se podría hacer para que almacenara en $result todos los resultados formados por cada coincidencia del array con el campo varchar?. La respuesta ya la tienes en el código que te puse ya que la variable $res ya contiene los resultados como los necesitas.
Espero que ahora sí me hayas podido entender y que te haya servido esto para darte una idea.
P.D. Lee los comentarios que te puse en el código, son los que ves de color amarillo.
Suerte