Foros del Web » Programando para Internet » PHP »

Ayuda: no consigo insertar datos en tabla mysql

Estas en el tema de Ayuda: no consigo insertar datos en tabla mysql en el foro de PHP en Foros del Web. Hola, Por más que lo reviso no encuentro el fallo o lo que estoy haciendo mal. La idea es subir datos a una tabla mysql ...
  #1 (permalink)  
Antiguo 26/02/2008, 05:22
 
Fecha de Ingreso: febrero-2008
Mensajes: 12
Antigüedad: 16 años, 9 meses
Puntos: 0
Ayuda: no consigo insertar datos en tabla mysql

Hola,
Por más que lo reviso no encuentro el fallo o lo que estoy haciendo mal.
La idea es subir datos a una tabla mysql a traves de un formulario html para hacer una base de datos de peliculas.
Los campos a rellenar son tres, de momento: titulo,titulo original y director.
la base de datos si inserto registros directamente en ella funciona perfectamente no me dá ningun error.
Podria alguien revisarme el codigo y decirme en que me he equivocado??
Os pongo el codigo del formulario html y del php al que apunta dicho formulario:
Código:
<html>
<body>
<form method="post" action="subir5.php">
Titulo :<input type="Text" name="titulo"><br>
Titulo Original:<input type="Text" name="titulo original"><br>
Director :<input type="Text" name="director"><br>
<input type="Submit" name="enviar" value="Aceptar información">
</form>
</body>
</html>
Código:
<html>
<body>
<?php
// process form
$link = mysql_connect("localhost","pma","200176");
mysql_select_db("ejemplo");
$sql = "INSERT INTO ficha (titulo, titulo original, director)";
$sql .= "VALUES ('$titulo', '$titulo original', '$director')";
$result = mysql_query($sql);
echo "¡Gracias! Hemos recibido sus datos.\n";
?>
</body>
</html>
Os agradeceria que me echaseis una mano porque estoy atascado en este punto y no le encuentro el fallo.Tambien he probado con otros codigos distintos a este para insertar datos en la base de datos a traves de formulario pero tampoco he tenido exito.
Un saludo y gracias de antemano.
  #2 (permalink)  
Antiguo 26/02/2008, 12:00
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 9 meses
Puntos: 45
Re: Ayuda: no consigo insertar datos en tabla mysql

Hola

1- Pare empezar, evita en lo posible usar espacios en blanco en los nombres de los campos, eso te evitará dolores de cabeza, si lo vas usar siempre ponlos entre comillas 'titulo original'.
2- Esto no es un foro de programación pero igual te voy a responder, el php no acepta que sus variables tengan espacios en blanco

Saludos!
  #3 (permalink)  
Antiguo 26/02/2008, 13:31
 
Fecha de Ingreso: febrero-2008
Mensajes: 12
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Ayuda: no consigo insertar datos en tabla mysql

¡¡Muchisimas gracias!!, Genetix.
Efectivamente era eso, sabia que tenia que ser una tonteria.
Eliminé los espacios en las variables y en el campo: "titulo original".
Muchas gracias de nuevo.
  #4 (permalink)  
Antiguo 26/02/2008, 18:08
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 23 años
Puntos: 655
Re: Ayuda: no consigo insertar datos en tabla mysql

Trasladado de BD a PHP. Favor no poner código de programación en BD.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #5 (permalink)  
Antiguo 26/02/2008, 18:28
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 9 meses
Puntos: 52
Re: Ayuda: no consigo insertar datos en tabla mysql

<?php
// process form
$link = mysql_connect("localhost","pma","200176");
mysql_select_db("ejemplo");
$sql = "INSERT INTO ficha (titulo, titulo_original, director)";
$sql .= "VALUES ('$titulo', '$titulo original', '$director')";
$result = mysql_query($sql);
echo "¡Gracias! Hemos recibido sus datos.\n";
?>


prueba asi:

Código PHP:
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','user,'password')or die ('Ha fallado la conexión'.mysql_error());
mysql_select_db('
registro')or die ('Error al seleccionar la Base de Datos'.mysql_error());

// verificamos si se han enviado ya las variables necesarias.
if (isset($_POST["titulo"])) {
    $titulo = $_POST["titulo"];
    $titulo_original = $_POST["titulo_original"];
    $director = $_POST["director"];
    
    // Hay campos en blanco
    if($titulo==NULL|$titulo_original==NULL|$director==NULL) {
        echo "un campo está vacio.";


else{
$query = '
INSERT INTO ejemplo (titulotitulo_originaldirector )
VALUES (''.$titulo.'\',\''.$titulo_original.'\',\''.$director.'\',\'')';
         mysql_query($query) or die(mysql_error());
echo '
El libro '.$titulo.' ha sido registrado de manera satisfactoria.<br />;
    
?> 
revisa la sintaxis, se me pudo escapar algo, pero a si deberia funcionar.
  #6 (permalink)  
Antiguo 26/02/2008, 19:47
 
Fecha de Ingreso: febrero-2008
Mensajes: 25
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Ayuda: no consigo insertar datos en tabla mysql

[QUOTE=jaronu;2301132]....
// verificamos si se han enviado ya las variables necesarias.
if (isset($_POST["titulo"])) {
$titulo = $_POST["titulo"];
$titulo_original = $_POST["titulo_original"];
$director = $_POST["director"];

// Hay campos en blanco
if($titulo==NULL|$titulo_original==NULL|$director= =NULL) {
echo "un campo está vacio.";....


[QUOTE]

Una pregunta en ves de preguntar si es null puedo poner directo $_GET["nombre de campo"]...
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 12:09.