Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/01/2006, 17:26
califa010
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 18 años, 2 meses
Puntos: 5
Cita:
Como en el caso anterior, como hago para insertar un nombre de 15 caracteres en un campo de 10 caracteres? Cómo puedo hacer que aparezcan los errores como resultado de una mala inserción usando php?
No se puede. Es como si tuvieras un camión de 4 metros de altura y quisieras pasar por un túnel de 3 metros de altura. No entra... Pero la ventaja es que tu problema se soluciona fácil: dale mayor extensión al campo. En vez de VARCHAR(10), que sean 15 y listo. En realidad, en el momento de asignar ese valor, tenés que tener en cuenta la cantidad máxima de caracteres que vas a necesitar. Tal vez 15 te sirvan para un caso puntual, pero más adelante podrías necesitar más. Por eso, te conviene darle un poco de margen. Cuantos más caracteres, más espacio ocupa la base, pero si necesitás guardar 20 caracteres y el campo admite 15, no hay otra forma (que yo sepa, al menos).

Una manera simple de validar que la extensión del valor que ingresa el usuario no sea superior al máximo permitido por el campo es con strlen(), que te devuleve el largo del string/cadena que le pasás.

Un ejemplo:

Código PHP:
$caracteres_input strlen($input_usuario);
$max_caracteres_campo 20// supongamos que pusiste 20
if ($caracteres_input <= $max_caracteres_campo) {
      
// hacés la consulta
} else {
     
// no pasa la validación, das algún mensaje de error y volvés a mostrar el formulario