Ver Mensaje Individual
  #9 (permalink)  
Antiguo 04/02/2005, 07:55
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Cita:
yo siempre he utilizado Substr() para obtener cadena de caracteres, de todas formas, no soy un experto en PHP solo utilizo las funiones que me han servido en su momento.
Veamos, substr() es un a funcion de PHP (www.php.net/substr), y substring() es una funcion de MySQL (www.mysql.com/substring). La consulta es codigo MySQL, asi que tienes que usar funciones MySQL. Fuera de la consulta debes usar funciones PHP.
Cita:
ahora no me arroja el error de linea, pero no muestra los campos del arreglo.
Consejo importante: no metas la consulta directamente en el mysql_query(), usa una variable temporal, asi:
Código PHP:
$sql="SELECT nro,nom,ape FROM socios WHERE substring(nro,1,5) = '$cCodi'";
$res=mysql_query($res); 
¿Por que? Porque asi puedes hacer facilmente un:
Código PHP:
echo $sql
para ver realmente la consulta que itentas ejecutar.

De todas formas, el fallo aqui todavia es debido a que te fijas en substr() (www.php.net/substr), y no en substring() (www.mysql.com/substring). Si miras esos manuales, veras que en substr() (PHP), el primer caracter tiene el indice 0 (para hacerlo compatible con los arrays), pero si te fijas en substring() (MySQL), veras que el primer caracter tiene el indice 1.

Asi que no te devuelve ningun registro porque esta comparando los 5 primeros caracteres del campo de la base de datos, es decir, 'a0254' con '02540'.

asi que tienes que cambiar la posicion de comienzo en substring()

substring(nro, 2, 5)

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.