Foros del Web » Programando para Internet » PHP »

Error al insertar datos a la db

Estas en el tema de Error al insertar datos a la db en el foro de PHP en Foros del Web. Hola, me da error al insertar los datos a la base de datos.. Formulario: Código HTML: <form action= "inc/sendnews.php" method= "POST" accept-charset="utf-8"> <div id= "fecha" ...
  #1 (permalink)  
Antiguo 01/06/2010, 05:29
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Error al insertar datos a la db

Hola,

me da error al insertar los datos a la base de datos..

Formulario:

Código HTML:
<form action="inc/sendnews.php" method="POST" accept-charset="utf-8">
		
<div id="fecha">
<div class="title"><label>Fecha</label></div>
<input class="caja" type="text"  name="fecha" />
</div>
		
<div id="new">
<div class="title"><label>Novedad</label></div>
<input class="caja" type="text" name="novedad" />
</div>
	
<p><input type="submit" value="Cargar" /></p>

</form> 
link.php

Código PHP:
<?php

// Conecto a la base de datos

$srv "localhost";
$us "root";
$pass "password";
$dbn "news";

$link mysql_connect("$srv""$us""$pass");

if (!
$link)
{
    die(
"No se pudo conectar a la base de datos " mysql_error()) . "<br/>";
}

/*

// Create database
if (mysql_query("CREATE DATABASE news", $link))
  {
  echo "Se ha creado la base de datos";
  }
else
  {
  echo "Error creando la base de datos: " . mysql_error();
  }

// Create table
mysql_select_db("news", $link);
$sql = "CREATE TABLE Novedades  
(SID integer,  
Fecha varchar(10),  
Novedad varchar(140),  
PRIMARY KEY (SID) 
)"; 

// Execute query
mysql_query($sql,$link);
*/


mysql_close($link);

?>

sendnews.php
Código PHP:
<?php

// Conecto a la base de datos

include("link.php");

// selecciono la base de datos

mysql_select_db($dbn$link);

// Inyecto los datos desde el formulario

$sql="INSERT INTO Novedades (Fecha, Novedad);
Values
('$_POST[fecha]','$_POST[novedad]"
;

if (!
mysql_query($sql$link))
 {
     die(
'Error insertando los datos: ' mysql_error());
 }
echo 
"Se ha agregado una novedad correctamente";

mysql_close($link);
?>
  #2 (permalink)  
Antiguo 01/06/2010, 05:45
 
Fecha de Ingreso: mayo-2010
Mensajes: 30
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: Error al insertar datos a la db

y que error da? donde falla?


Mejor así
Código PHP:
$sql="INSERT INTO Novedades (Fecha, Novedad);
Values
("
.$_POST['fecha'].",".$_POST['novedad'].")"
  #3 (permalink)  
Antiguo 01/06/2010, 05:52
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: Error al insertar datos a la db

Este es el error. "error insertando los datos."

Código PHP:
if (!mysql_query($sql$link)) 
 { 
     die(
'Error insertando los datos: ' mysql_error()); 
  #4 (permalink)  
Antiguo 01/06/2010, 06:50
Avatar de martin0341  
Fecha de Ingreso: septiembre-2006
Ubicación: Rosario - Santa Fe
Mensajes: 296
Antigüedad: 17 años, 7 meses
Puntos: 8
Respuesta: Error al insertar datos a la db

Código PHP:
Ver original
  1. $sql="INSERT INTO Novedades (Fecha, Novedad);
  2. Values
  3. ('$_POST[fecha]','$_POST[novedad]";

Te falta cerrar la comilla en '$_POST[novedad]' y tenes un ; que no tiene nada que ver, ademas de no cerrar el parentesis...

Quedaría así:
Código PHP:
Ver original
  1. $sql="INSERT INTO Novedades (Fecha, Novedad)
  2. Values
  3. ('$_POST[fecha]','$_POST[novedad]')";
  #5 (permalink)  
Antiguo 01/06/2010, 07:59
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: Error al insertar datos a la db

Sin embargo sigue dando el error..

debe venir de atras el error....para mi es la forma en que se creo la tabla o algo por el estilo.

Saludos.
  #6 (permalink)  
Antiguo 01/06/2010, 08:04
 
Fecha de Ingreso: abril-2010
Ubicación: Colombia
Mensajes: 229
Antigüedad: 14 años
Puntos: 2
Respuesta: Error al insertar datos a la db

cual es el error que sale porque sino dices el error, sera muy complicada ayudarte
  #7 (permalink)  
Antiguo 01/06/2010, 08:06
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
Respuesta: Error al insertar datos a la db

Modificando un poco prueba asi:

Código PHP:
$sql="INSERT INTO Novedades (Fecha, Novedad);
Values
('"
.$_POST['fecha']."','".$_POST['novedad']."')"
Un saludo.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #8 (permalink)  
Antiguo 01/06/2010, 08:34
Avatar de r0davlas  
Fecha de Ingreso: mayo-2010
Ubicación: santiago de compostela
Mensajes: 7
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Error al insertar datos a la db

Si es esto lo que utilizas para crear la tabla
Código:
mysql_select_db("news", $link); 
$sql = "CREATE TABLE Novedades   
(SID integer,   
Fecha varchar(10),   
Novedad varchar(140),   
PRIMARY KEY (SID)  
)";
Creo que te falta insertar la clave
Código:
$sql="INSERT INTO Novedades (SID,Fecha, Novedad) 
Values 
(123,'$_POST[fecha]','$_POST[novedad]'";
De todas formas seria mejor que dijeses cual es el error que te da.
  #9 (permalink)  
Antiguo 01/06/2010, 10:22
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: Error al insertar datos a la db

Error:

"No se pudieron cargar los datos a la base de datos You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3"

para que me diera el error saque mysql_error($link);

Saludos.

PD

en phpmyadmin me indica que lea esto de la faq:

3.11 The number of records for InnoDB tables is not correct.

phpMyAdmin uses a quick method to get the row count, and this method only returns an approximate count in the case of InnoDB tables. See $cfg['MaxExactCount'] for a way to modify those results, but this could have a serious impact on performance.

Etiquetas: Ninguno
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 20:14.