entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Duda con el método bind_param de PHP con MySQLi

El primer parámetro del método mysqli_stmt::bind_param, indica el tipo de variable que tienen los siguientes parámetros. Segun la documentación de php (en ingles), la función sirve para vincular tipos de variables a una sentencia parametrizada, o algo así.

Según lo que entendí de la documentación, ese parámetro, es una cadena de texto con una notación muy particular: cada carácter indica un tipo de dato para cada uno de los demás parámetros de la función.

  • Si el carácter es una 'i', corresponde con el tipo de dato "integer"
  • Si el carácter es una 'd', corresponde con el tipo de dato "double"
  • Si el carácter es una 's', corresponde con el tipo de dato "string"
  • Si el carácter es una 'b', corresponde con el tipo de dato "blob" (este se lo que es, pero no lo uso)

MySQL tiene los siguientes tipos de datos:

  • INT o INTEGER, y todas sus demás variaciones de tamaño en bytes: TINYINT, SMALLINT, MEDIUMINT, BIGINT
  • FLOAT, DOUBLE y DECIMAL para números no enteros
  • CHAR, VARCHAR, TEXT, etc
  • BLOB y todas sus demás variaciones para almacenar datos binarios (no les veo ninguna utilidad)
  • ENUM que se comporta como "string" pero se guarda como número
  • DATE, DATETIME, TIME, TIMESTAMP y demás variaciones para almacenar fechas y horas.
  • NULL, NOT NULL que no son tipos, pero son igualmente importantes

Mi duda es la siguiente: Entre los caracteres 'i', 's', 'd' y 'b' ¿Cuál usar para cada tipo de dato de MySQL?

1 Respuesta

2votos

magarzon Puntos30650

i -> Todos los enteros
d -> Floats, doubles, decimal
b -> Blob
s -> Todo lo demás. De hecho, en teoría, tampoco habría problemas por enviar un entero poniéndolo como s, porque luego MySQL va a hacer la conversión. Esto solo sirve para que PHP haga la conversión previa

Para el null, da igual qué tipo pongas, solo con que el valor sea null, se hará la conversión correcta

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta