Autor
|
Tema: Problema al añadir registros a base de datos (Leído 6,512 veces)
|
InGuS
Desconectado
Mensajes: 111
|
Hola, tengo un problema al añadir registros a una base de datos, para eso uso la siguiente expresión: $resultado= mysql_query("INSERT INTO 'proveedor' ('id','nombre', 'direccion', 'telefono', 'email') VALUES (NULL, '".$nombre."', '".$direccion."', '".$telefono."', '".$email."')",$conexion); La conexión a la base de datos la hago mediante $conexion= @mysql_pconnect('localhost','usuario','password') or die ('Imposible conectar con la base de datos debido al siguiente error: ' . mysql_error()); $bd= mysql_select_db('lista',$conexion); Los datos los obtengo desde un formulario, el problema es que no ingresa los datos. Creo que todo radica en las comillas y en los puntos, he intentado quitarlas ponerlas pero aún no puedo añadir los datos. ¿Alguna idea? Saludos
|
|
|
En línea
|
|
|
|
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
Desconectado
Mensajes: 5.110
|
Prueba con: $nombre=$_POST['nombre']; Saludos
|
|
|
En línea
|
|
|
|
InGuS
Desconectado
Mensajes: 111
|
Gracias por tu pronta respuesta, pero el problema aún persiste, ¿alguna otra idea de que pueda estar pasando?
|
|
|
En línea
|
|
|
|
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
Desconectado
Mensajes: 5.110
|
De nada. Lo que se me ocurre es que no estás llamando el mysql_query.
Podrías poner todo el código?
Saludos
|
|
|
En línea
|
|
|
|
InGuS
Desconectado
Mensajes: 111
|
Este es el código de la página proveedores.php <h1>Agregar un proveedor</h1> <form name ="agregar" action="proveedores.php?subaction=guardar" method="post"> <table border="0"> <tr> <td class="label">Nombre:</td> <td class="noborde"><input type="text" name="nombre" maxlength="100" size="47"></td> </tr> <tr> <td class="label">Dirección:</td> <td class="noborde"><textarea name="direccion" rows="5" cols="40" wrap="hard"></textarea></td> </tr> <tr> <td class="label">Teléfono:</td> <td class="noborde"><textarea name="telefono" rows="3" cols="20" wrap="hard"></textarea></td> </tr> <tr> <td class="label">E-mail:</td> <td class="noborde"><input type="text" name="email" maxlength="50" size="47"></td> </tr> <tr> <td class="noborde" colspan="2" align="center"><input type="Submit" value="Guardar"> <input type="reset" value="Limpiar"></td> </tr> </table> </form>
<?php $subaction = $HTTP_GET_VARS["subaction"]; include("mainfile.php"); if ($subaction=="guardar") { $nombre=$_POST['nombre']; $direccion =$_POST['direccion']; $telefono =$_POST['telefono']; $email =$_POST['email']; $resultado= mysql_query("INSERT INTO 'proveedor' ('id','nombre', 'direccion', 'telefono', 'email') VALUES (NULL, '".$nombre."', '".$direccion."', '".$telefono."', '".$email."')",$conexion); if ($resultado) echo "Datos añadidos"; else echo "Ha ocurrido un error"; }?> En mainfile.php es donde tengo los datos de conexion <?php $conexion= @mysql_pconnect('localhost','usuario','password') or die ('Imposible conectar con la base de datos debido al siguiente error: ' . mysql_error()); $bd= mysql_select_db('lista',$conexion);?>
|
|
|
En línea
|
|
|
|
alone-in-the-chat
Desconectado
Mensajes: 587
|
Puedes poner el error que te lanza???
|
|
|
En línea
|
Because maybe You're gonna be the one that saves me And after all You're my wonderwall d[n_n]b
|
|
|
InGuS
Desconectado
Mensajes: 111
|
Puedes poner el error que te lanza???
No pone ningun error, simplemente aparece la pantalla en blanco, por eso puse el último if y asi saber que sucedía. Me puse a "jugar" con los puntos y las comillas y llegue a introducir un dato, lo malo fue que solo ingreso la id (autoincremental en la BD), lo demás simplemente quedo en blanco.
|
|
|
En línea
|
|
|
|
alone-in-the-chat
Desconectado
Mensajes: 587
|
Haz un print_r($_POST) para que chekes si los datos estan llegando o no Por que a simple vista no le veo el error y aver x si acaso tb haz un echo de la cadena que le envias al mysql_query Saludos.
|
|
|
En línea
|
Because maybe You're gonna be the one that saves me And after all You're my wonderwall d[n_n]b
|
|
|
InGuS
Desconectado
Mensajes: 111
|
Ya lo intente introduciendo las palabras Uno Dos Tres Cuatro no pude usar print_r así que use print ($_POST) y me imprimió "array"; probe imprimiendo cada variable y me las mostro sin ningun problema. También imprimi el query y dio como resultado esto. INSERT INTO 'proveedor' ('id','nombre', 'direccion', 'telefono', 'email') VALUES (NULL, 'Uno', ' Dos ', ' Tres ', 'Cuatro') esa parte de código quedo así: <?php $nombre=$_POST['nombre']; $direccion =$_POST['direccion']; $telefono =$_POST['telefono']; $email =$_POST['email']; $sql= "INSERT INTO 'proveedor' ('id','nombre', 'direccion', 'telefono', 'email') VALUES (NULL, '".$nombre."', '".$direccion."', '".$telefono."', '".$email."')"; $resultado= mysql_query($sql,$conexion); print ($_POST);
print $sql; ?> ¿Estoy haciendo bien la conexión?
|
|
|
En línea
|
|
|
|
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
Desconectado
Mensajes: 5.110
|
Hola, Veamos: if ($subaction=="guardar")
<input type="Submit" value="Guardar">
Debería ser: <input type="Submit" value="Guardar" name="guardar">
y afuera de if ($subaction=="guardar"): $guardar=$_POST['guardar'];
Saludos
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Eliminar Registros de Base de Datos Mysql con VB 2010
.NET (C#, VB.NET, ASP)
|
Didy
|
2
|
6,299
|
21 Febrero 2013, 15:20 pm
por HdM
|
|
|
[Ayuda] Una manera rapida de insertar registros a una base de datos en SQL
Java
|
Mine Sweeper
|
3
|
4,086
|
26 Julio 2013, 18:22 pm
por ~ Yoya ~
|
|
|
Borrar Registros de base de datos Mysql
Desarrollo Web
|
JRO1384
|
2
|
2,729
|
4 Noviembre 2013, 17:18 pm
por Saberuneko
|
|
|
mostrar registros de base de datos en lista de checkbox
PHP
|
Ethgar
|
2
|
8,739
|
7 Marzo 2014, 16:22 pm
por Ethgar
|
|
|
uardar registros desde TextBox a base de datos
Programación General
|
fezaca
|
0
|
1,792
|
8 Marzo 2014, 20:22 pm
por fezaca
|
|