Foros del Web » Programando para Internet » PHP »

Problemas con insercion en base de datos

Estas en el tema de Problemas con insercion en base de datos en el foro de PHP en Foros del Web. Tengo el siguiente bloque para realizar inserción y tengo 2 preguntas: 1.- Que funcion cumple la barra invertida (\) en un query? 2.- Que puede ...
  #1 (permalink)  
Antiguo 24/04/2007, 12:19
Avatar de Isaac Mañe  
Fecha de Ingreso: enero-2002
Ubicación: Caracas
Mensajes: 396
Antigüedad: 22 años, 3 meses
Puntos: 0
Pregunta Problemas con insercion en base de datos

Tengo el siguiente bloque para realizar inserción y tengo 2 preguntas:
1.- Que funcion cumple la barra invertida (\) en un query?
2.- Que puede estar ocurriendo, que no ejecuta nada al realizar la operación mostrada en la parte inferior?

$Nombre = $_POST['Nombre'];
$Mensaje = $_POST['Mensaje'];
$Pais = $_POST['Nacionalidad'];

//Procesar fecha
$Today=date('Y-m-d');

// Realizar una consulta SQL
$consulta = 'INSERT INTO `Mensajes` (`Mensajes_id`, `Mensajes_nombre`, `Mensajes_texto`, `Mensajes_pais`, `Mensajes_fecha`) VALUES (\'\', \'$Nombre\', \'$Mensaje\', \'$Pais\', \'$Today\')';

$resultado = mysql_query($consulta) or die('La insercion fallo: ' . mysql_error());
  #2 (permalink)  
Antiguo 24/04/2007, 12:34
 
Fecha de Ingreso: febrero-2007
Ubicación: Peru
Mensajes: 38
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Problemas con insercion en base de datos

$consulta ="INSERT INTO Mensajes (Mensajes_id, Mensajes_nombre, Mensajes_texto, Mensajes_pais, Mensajes_fecha) VALUES ('', '$Nombre', '$Mensaje', '$Pais', CURDATE())";

//ESE $TODAY no lo uses usa el CURDATE() que es uan funcion de mysql

Ten cuidado con las comillas simples, pareciera que usas la tilde
  #3 (permalink)  
Antiguo 24/04/2007, 12:36
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Problemas con insercion en base de datos

es un caracter de escape, es decir para que dentro del dexto se tomen las tildes (') como tal.

prueba así:
Código PHP:
$consulta "INSERT INTO `Mensajes` (`Mensajes_id`, `Mensajes_nombre`, `Mensajes_texto`, `Mensajes_pais`, `Mensajes_fecha`) VALUES ('', '$Nombre', '$Mensaje', '$Pais', '$Today')"
al usar las comillas (") ya no se necesitan escapar las tildes porque se toman como parte del texto.

saludos
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #4 (permalink)  
Antiguo 24/04/2007, 15:16
Avatar de Isaac Mañe  
Fecha de Ingreso: enero-2002
Ubicación: Caracas
Mensajes: 396
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Problemas con insercion en base de datos

Cita:
Iniciado por eits Ver Mensaje
es un caracter de escape, es decir para que dentro del dexto se tomen las tildes (') como tal.

prueba así:
Código PHP:
$consulta "INSERT INTO `Mensajes` (`Mensajes_id`, `Mensajes_nombre`, `Mensajes_texto`, `Mensajes_pais`, `Mensajes_fecha`) VALUES ('', '$Nombre', '$Mensaje', '$Pais', '$Today')"
al usar las comillas (") ya no se necesitan escapar las tildes porque se toman como parte del texto.

saludos
Gracias!
  #5 (permalink)  
Antiguo 24/04/2007, 15:46
 
Fecha de Ingreso: junio-2006
Mensajes: 17
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Problemas con insercion en base de datos

Una consulta... el campo Mensaje_Id es autoincrement???? por que si es asi no deberias de colocarlo en el insert.... deberias dejarlo asip....

Código PHP:
$consulta "INSERT INTO `Mensajes` (`Mensajes_nombre`, `Mensajes_texto`, `Mensajes_pais`, `Mensajes_fecha`) VALUES ('$Nombre', '$Mensaje', '$Pais', '$Today')"
espero te funcione...
  #6 (permalink)  
Antiguo 24/04/2007, 16:57
Avatar de Isaac Mañe  
Fecha de Ingreso: enero-2002
Ubicación: Caracas
Mensajes: 396
Antigüedad: 22 años, 3 meses
Puntos: 0
Pregunta Re: Problemas con insercion en base de datos

Cita:
Iniciado por MisterJohn Ver Mensaje
Una consulta... el campo Mensaje_Id es autoincrement???? por que si es asi no deberias de colocarlo en el insert.... deberias dejarlo asip....

Código PHP:
$consulta "INSERT INTO `Mensajes` (`Mensajes_nombre`, `Mensajes_texto`, `Mensajes_pais`, `Mensajes_fecha`) VALUES ('$Nombre', '$Mensaje', '$Pais', '$Today')"
espero te funcione...
Es correcto, el campo Mensaje_id es autoincrement.
Lo estoy dejando entre comillas simples y esta guardando bien en la db. Que ocurre si lo sigo haciendo asi?
  #7 (permalink)  
Antiguo 24/04/2007, 16:59
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Problemas con insercion en base de datos

si usas mysql 5 lo mejor es poner NULL

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #8 (permalink)  
Antiguo 24/04/2007, 17:06
Avatar de Isaac Mañe  
Fecha de Ingreso: enero-2002
Ubicación: Caracas
Mensajes: 396
Antigüedad: 22 años, 3 meses
Puntos: 0
Pregunta Re: Problemas con insercion en base de datos

Cita:
Iniciado por eits Ver Mensaje
si usas mysql 5 lo mejor es poner NULL

saludos.
Entonces quedaria asi?

Código PHP:
$consulta "INSERT INTO `Mensajes` (`Mensajes_id`, `Mensajes_nombre`, `Mensajes_texto`, `Mensajes_pais`, `Mensajes_fecha`) VALUES ('', '$Nombre', '$Mensaje', '$Pais', '$Today')"
  #9 (permalink)  
Antiguo 24/04/2007, 17:12
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Problemas con insercion en base de datos

quedaría así
Código PHP:
$consulta "INSERT INTO `Mensajes` (`Mensajes_id`, `Mensajes_nombre`, `Mensajes_texto`, `Mensajes_pais`, `Mensajes_fecha`) VALUES (NULL, '$Nombre', '$Mensaje', '$Pais', '$Today')"
y si $Today lo optienes así
Código PHP:
$Today=date("Y-m-d"); 
puedes sustituirlo por NOW() y quedaría así:
Código PHP:
$consulta "INSERT INTO `Mensajes` (`Mensajes_id`, `Mensajes_nombre`, `Mensajes_texto`, `Mensajes_pais`, `Mensajes_fecha`) VALUES (NULL, '$Nombre', '$Mensaje', '$Pais', NOW())"
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #10 (permalink)  
Antiguo 24/04/2007, 17:13
Avatar de Isaac Mañe  
Fecha de Ingreso: enero-2002
Ubicación: Caracas
Mensajes: 396
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Problemas con insercion en base de datos

O.K Gracias mil!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:58.