Foros del Web » Programando para Internet » PHP »

insert into no funciona

Estas en el tema de insert into no funciona en el foro de PHP en Foros del Web. Un saludo. El inconveniente que tengo básicamente es que el siguiente script sirve para nada, pues, no consigo isnertar en la Base de datos. if($_POST['nombreVideo']){ ...
  #1 (permalink)  
Antiguo 13/12/2010, 19:19
 
Fecha de Ingreso: febrero-2009
Ubicación: Medellín
Mensajes: 81
Antigüedad: 15 años, 2 meses
Puntos: 1
Pregunta insert into no funciona

Un saludo. El inconveniente que tengo básicamente es que el siguiente script sirve para nada, pues, no consigo isnertar en la Base de datos.


if($_POST['nombreVideo']){

$fecha=date("d-m-y",time());
$deQuien="c";
$titulo=$_POST['nombreVideo'];
$emoticon=$_POST['emoticon'];
$url=$_POST['urlVideo'];
require("include/conexion.php");
$sql="insert into video values(0,'".$fecha."','".$deQuien."','".$titulo."' ,'".$emoticon."','".$url."')";
$result=mysql_db_query($BdeD, $sql, $conexion);
mysql_close($conexion);
}


Las variables $BdeD y $conexion son traídas desde el archivo externo "conexion.php". En esa tabla tengo un atributo autoincrementador y por eso el cero al inicio....

Me tiene cojido de los pelos....

si alguien me puede ayudar agradeceria...
  #2 (permalink)  
Antiguo 13/12/2010, 19:33
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: insert into no funciona

pues lo primero que te idico mysql_db_query esta obsoleta en su lugar se usa mysql_query.

otra cosa el formato para fechas mysql es año-mes-dia no dia-mes-año como lo tienes.

y una sugerencia en la fase de desarrollo depura tu consulta ej:

Código PHP:
Ver original
  1. mysql_query(/*tu consulta*/) or die (mysql_error());
saludos espero te sirva la informacion
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 13/12/2010, 19:37
Avatar de seguridadweb  
Fecha de Ingreso: marzo-2010
Mensajes: 41
Antigüedad: 14 años
Puntos: 1
Respuesta: insert into no funciona

te falto poner los nombrse de los campos ademas de sus valores
  #4 (permalink)  
Antiguo 13/12/2010, 19:47
Avatar de ale123  
Fecha de Ingreso: septiembre-2007
Mensajes: 78
Antigüedad: 16 años, 7 meses
Puntos: 3
Respuesta: insert into no funciona

INSERT INTO "nombre_tabla" ("columna1", "columna2", ...)
VALUES ("valor1", "valor2", ...)
__________________
Diseño y desarrollo web personalizado, precios competitivos: www.admaz.com.ar
  #5 (permalink)  
Antiguo 13/12/2010, 20:01
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: insert into no funciona

si va a rellenar todos los campos no es necesario colocarlos ejemplo:
tabla: tabla1.
campos:campo1,campo2.
Código MySQL:
Ver original
  1. INSERT INTO tabla1 VALUES('hola','carlos');
la tabla ahora contendra
------------------------------
|campo1 | campo2|
------------------------------
| hola | carlos |
-------------------------------
saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #6 (permalink)  
Antiguo 13/12/2010, 20:21
Avatar de thestreamsound  
Fecha de Ingreso: diciembre-2010
Mensajes: 16
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: insert into no funciona

Te llega a insertar algun campo? no inserta nadda? a lo que veo el formato de la fecha esta mal pero si insertaria algo como 0000-00-00
  #7 (permalink)  
Antiguo 13/12/2010, 22:57
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 3 meses
Puntos: 7
Respuesta: insert into no funciona

Prueba con este código ordenado:
Código PHP:
Ver original
  1. if($_POST['nombreVideo']){
  2.  
  3. $fecha      =   date("d-m-y",time());
  4. $deQuien    =   "c";
  5. $titulo     =   $_POST['nombreVideo'];
  6. $emoticon   =   $_POST['emoticon'];
  7. $url        =   $_POST['urlVideo'];
  8. require("include/conexion.php");
  9. $sql        =   "INSERT INTO video VALUES(0,'" . $fecha . "', '" . $deQuien . "', '" . $titulo . "', '" . $emoticon . "', '" . $url . "')";
  10. $result     =   mysql_db_query($BdeD, $sql, $conexion);
  11. mysql_close($conexion);
  12. }
  #8 (permalink)  
Antiguo 14/12/2010, 05:54
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: insert into no funciona

El problema parece estar en el primer campo. Por el hecho de usar un cero (0) se infiere que es un campo autonumérico, y en ese caso no admitirá la inserción porque está enviando un mismo valor real repetidamente, lo que genera un error de clave duplicada.
En estos casos lo que debe ir (repito, si el campo es AUTO_INCREMENT) es NULL , no un cero.

Código PHP:
Ver original
  1. if($_POST['nombreVideo']){
  2.  
  3. $fecha      =   date("d-m-y",time());
  4. $deQuien    =   "c";
  5. $titulo     =   $_POST['nombreVideo'];
  6. $emoticon   =   $_POST['emoticon'];
  7. $url        =   $_POST['urlVideo'];
  8. require("include/conexion.php");
  9. $sql        =   "INSERT INTO video VALUES(NULL ,'" . $fecha . "', '" . $deQuien . "', '" . $titulo . "', '" . $emoticon . "', '" . $url . "')";
  10. $result     =   mysql_db_query($BdeD, $sql, $conexion);
  11. mysql_close($conexion);
  12. }
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 14/12/2010, 11:51
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 3 meses
Puntos: 7
Respuesta: insert into no funciona

Yo por lo general no coloco NULL, si no que lo dejo que la misma base de datos se vaya incrementando la ID. Para eso mejor borras el NULL, y listo.

Etiquetas: insert, mysql
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 06:01.