27/03/2014, 23:40
|
| | Fecha de Ingreso: octubre-2006
Mensajes: 227
Antigüedad: 18 años Puntos: 3 | |
Respuesta: ¿insertar string o un null en base de datos con PHP? Cita:
Iniciado por gnzsoloyo Vamos a hacer una aclaración que ya deberías conocer: MySQL No es PHP, y PHP no es MySQL.
MySQL no entiende las variables de PHP, sencillamente porque jamás "dialogan" entre sí. Lo que hace PHP con las librerías es poner en un puerto determinado (3306 usualmente), un mensaje que MySQL "escucha". Ese mensaje es SQL puro.
MySQL luego devuelve en ese mismo puerto un conjunto de datos formateados como arrays que la librería de PHP interpreta para manipularlos. Pero jamás hay interacción directa entre ambas cosas.
¿Qué significa todo esto?
Que lo que haces en PHP es crear SQL, sólo SQL y nada más que SQL. Por consecuencia, las variables de PHP no existen para MySQL, sino que su contenido se toma para crear esa sentencia, y por consecuencia, la sentencia debe respetar la sintaxis de SQL.
Esto último, entre otras consideraciones: implica que:
- Las cadenas de texto deben estar entre apóstrofes.
- los números no deben estar entre apóstrofes (no son cadenas de texto)
- Los decimales se representan con puntos.
- Las fechas y horas se ponen entre apostrofos, respetando el formato de fechas y horas de MySQL.
- Las cláusulas de las sentencias no deben estar entre apóstrofes ni comillas.
- Los nombres de tablas pueden estar entre acentos agudos.
- Los operadores de todo tipo van sin apostrofos, comillas o acentos agudos.
Y en este último sentido, NULL, NOT, IN, AND, OR, etc., deben estar en la sentencia sin apostrofos .
¿Se entiende?
Estás embebiendo SQL en PHP, pero el SQL tiene sus propias reglas que debes cumplir si quieres que las sentencias se ejecuten sin errores. Eso lo tengo claro, pero creo que no nos pudimos entender bien, o no me pude dar a ententer mejor, lo siento por eso. Pero muchas gracias por el tiempo y trabajo que te tomaste en tratar de enseñarme, te puse un like. |