Foros del Web » Programando para Internet » PHP »

no me ingresan los datos a la BD

Estas en el tema de no me ingresan los datos a la BD en el foro de PHP en Foros del Web. clase conexion Código PHP: <?php function  conectar () {      $conecta  =  mysql_connect ( "localhost" ,  "root" ,  "" );              if (! $conexion ){     die( ...
  #1 (permalink)  
Antiguo 24/10/2011, 08:58
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
no me ingresan los datos a la BD

clase conexion
Código PHP:
<?php
function conectar()
{
    
$conecta mysql_connect("localhost""root""");
    
        if (!
$conexion){
    die(
'No se pudo conectar: ' mysql_error());    
    }
    
    
mysql_select_db("mi_db"$conecta);
}

function 
desconectar()
{
    
mysql_close($conecta);
}
funcion bd
Código Javascript:
Ver original
  1. function db()
  2.     {
  3.         var nombre = document.getElementById("nombre").value;
  4.                 alert("0");
  5.         var telefono = document.getElementById("telefono").value;
  6.         var producto = document.getElementById("producto").value;
  7.         var direccion = document.getElementById("direccion").value;
  8.         var empresa = document.getElementById("empresa").value;
  9.         var usuario = document.getElementById("usuario").value;
  10.        
  11.         var sql = "INSERT INTO encuesta (nombre, telefono, producto, direccion, empresa, usuario) VALUES ('"+nombre+"','"+telefono+"','"+producto+"','"+direccion+"','"+empresa+"','"+usuario+"'); if(!$sql){die('Fallo en la insercion de registro en la Base de Datos: '. mysql_error());}";
  12.     alert("1");
  13.    
  14.     document.write("<?php include ('conexion.php'); conectar(); $insertar = mysql_query(sql,$conectar); if(!$insertar){ die('no hay conexion'.mysql_error());} else { die('datos guardados, por favor cierre el navegador'); } desconectar(); ?>");
  15.         alert("2");
  16.     }


cual es el error por el que no me envia los datos a la BD?
que estoy haciendo mal?
  #2 (permalink)  
Antiguo 24/10/2011, 09:14
Avatar de tomark4  
Fecha de Ingreso: septiembre-2007
Mensajes: 154
Antigüedad: 16 años, 7 meses
Puntos: 29
Respuesta: no me ingresan los datos a la BD

¿porque ejecutas el php desde javascript?
¿Lo primero es una funcion una clase de POO ?
  #3 (permalink)  
Antiguo 24/10/2011, 09:15
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: no me ingresan los datos a la BD

si, es la clase conectar, que es muy común, la encontré muy parecida en muchas partes.

la verdad soy nuevo en php y fue la unica manera que se me ocurrió

podrias ayudarme?
  #4 (permalink)  
Antiguo 24/10/2011, 09:20
Avatar de tomark4  
Fecha de Ingreso: septiembre-2007
Mensajes: 154
Antigüedad: 16 años, 7 meses
Puntos: 29
Respuesta: no me ingresan los datos a la BD

aqui en esta pagina tienes un ejemplo sencillo de como insertar datos desde php a mysql

[URL="http://pctec21.blogspot.com/2010/11/insertar-registro-php-mysql.html"]pctec21[/URL]
  #5 (permalink)  
Antiguo 24/10/2011, 09:24
 
Fecha de Ingreso: agosto-2011
Ubicación: la paz
Mensajes: 83
Antigüedad: 12 años, 8 meses
Puntos: 4
Respuesta: no me ingresan los datos a la BD

Código PHP:
Ver original
  1. <?php
  2. function conectar()
  3. {
  4.     $conecta = @mysql_connect("localhost", "root", "");/*TALVES SEA LA ARROBA PUEVALO Y ME DICES YO LO HAGO ASI*/
  5.    
  6.         if (!$conexion){
  7.     die('No se pudo conectar: ' . mysql_error());    
  8.     }
  9.      
  10.     mysql_select_db("mi_db") os exit('no existe la base de datos');
  11. }
  12.  
  13. function desconectar()
  14. {
  15.     mysql_close($conecta);
  16. }
  #6 (permalink)  
Antiguo 24/10/2011, 10:42
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: no me ingresan los datos a la BD

Cita:
Iniciado por tomark4 Ver Mensaje
aqui en esta pagina tienes un ejemplo sencillo de como insertar datos desde php a mysql

[URL="http://pctec21.blogspot.com/2010/11/insertar-registro-php-mysql.html"]pctec21[/URL]
no he sido capaz de hacerlo, lo que necesito es una funcion en php que me capture los datos y abra la conexion. pero no se como hacerlo
por favor ayuda, es urgente
  #7 (permalink)  
Antiguo 24/10/2011, 10:42
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: no me ingresan los datos a la BD

Cita:
Iniciado por amils21 Ver Mensaje
Código PHP:
Ver original
  1. <?php
  2. function conectar()
  3. {
  4.     $conecta = @mysql_connect("localhost", "root", "");/*TALVES SEA LA ARROBA PUEVALO Y ME DICES YO LO HAGO ASI*/
  5.    
  6.         if (!$conexion){
  7.     die('No se pudo conectar: ' . mysql_error());    
  8.     }
  9.      
  10.     mysql_select_db("mi_db") os exit('no existe la base de datos');
  11. }
  12.  
  13. function desconectar()
  14. {
  15.     mysql_close($conecta);
  16. }
no me ha servido.
  #8 (permalink)  
Antiguo 24/10/2011, 10:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: no me ingresan los datos a la BD

En la wiki del foro hay un Manual de PHP con una sección para Bases de Datos que te puede servir perfectamente.

Saludos.
  #9 (permalink)  
Antiguo 24/10/2011, 10:44
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 8 meses
Puntos: 89
Respuesta: no me ingresan los datos a la BD

Cita:
Iniciado por amils21 Ver Mensaje
Código PHP:
Ver original
  1. <?php
  2. function conectar()
  3. {
  4.     $conecta = @mysql_connect("localhost", "root", "");/*TALVES SEA LA ARROBA PUEVALO Y ME DICES YO LO HAGO ASI*/
  5.    
  6.         if (!$conexion){
  7.     die('No se pudo conectar: ' . mysql_error());    
  8.     }
  9.      
  10.     mysql_select_db("mi_db") os exit('no existe la base de datos');
  11. }
  12.  
  13. function desconectar()
  14. {
  15.     mysql_close($conecta);
  16. }
La décima línea sería:

Código PHP:
Ver original
  1. mysql_select_db("mi_db") or exit('no existe la base de datos');
  #10 (permalink)  
Antiguo 24/10/2011, 10:48
 
Fecha de Ingreso: agosto-2011
Ubicación: la paz
Mensajes: 83
Antigüedad: 12 años, 8 meses
Puntos: 4
Respuesta: no me ingresan los datos a la BD

jaja sep perdon por hacerlo rapido
  #11 (permalink)  
Antiguo 24/10/2011, 10:53
Avatar de tomark4  
Fecha de Ingreso: septiembre-2007
Mensajes: 154
Antigüedad: 16 años, 7 meses
Puntos: 29
Respuesta: no me ingresan los datos a la BD

Código PHP:
Ver original
  1. //opciones de la bdd
  2. $server = "localhost"; //servidor
  3. $user = "root"; //usuario
  4. $pass = "admin"; //password
  5. $bd = "prueba"; //base de datos
  6.  
  7. //realiza la conexion
  8. $ln = mysql_connect($server, $user, $pass) or die(mysql_error());
  9. //selecciona la base de datos
  10.  
  11. //query para insertar los datos
  12. $sql = "insert into prueba (campo1, campo2) values('".$_REQUEST[campo1]."','".$_REQUEST[campo2]."')";
  13.  
  14. //ejecuta el query
  15. $rs = mysql_query($sql) or die (mysql_error());
  16. //cuenta los registros añadidos
  17. $regadd = mysql_affected_rows();
  18.  
  19. //muestra un mensaje dependiendo de si hizo o no la insercion
  20. if ($redadd>0){
  21.     echo "registro añadido"
  22. }
  23. else{
  24.     echo "no se agrego el nuevo registro"
  25. }
  26.  
  27. //libera el recordset
  28. //cierra la conexion

esto es un script de insercion de datos comentado
  #12 (permalink)  
Antiguo 24/10/2011, 10:56
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: no me ingresan los datos a la BD

Cita:
Iniciado por Arkaitz Ver Mensaje
La décima línea sería:

Código PHP:
Ver original
  1. mysql_select_db("mi_db") or exit('no existe la base de datos');
muchas gracias, pero en el codigo que publiqué no hay ningun error?

la funcion la llamo dentro del botón submit con
Código PHP:
onClick "db();" 
  #13 (permalink)  
Antiguo 24/10/2011, 10:59
Avatar de tomark4  
Fecha de Ingreso: septiembre-2007
Mensajes: 154
Antigüedad: 16 años, 7 meses
Puntos: 29
Respuesta: no me ingresan los datos a la BD

correcto pero la llamada para ejecutar tu codigo php no deberias hacerla desde javascript, el javascript se usa para otras cosas.
  #14 (permalink)  
Antiguo 24/10/2011, 11:19
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
Respuesta: no me ingresan los datos a la BD

creo que deberías de empezar por entender que el php se ejecuta directamente en el servidor y que despues de ser ejecutado termina por devolver codigo html que es enviado al navegador junto que código de javascript, estos dos últimos son y seran procesados por el navegador del cliente, con esto quiero decir que el javascript y php son independientes en su funcionamiento.

saludos, espero no confundirte.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #15 (permalink)  
Antiguo 24/10/2011, 12:27
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: no me ingresan los datos a la BD

Cita:
Iniciado por tomark4 Ver Mensaje
Código PHP:
Ver original
  1. //opciones de la bdd
  2. $server = "localhost"; //servidor
  3. $user = "root"; //usuario
  4. $pass = "admin"; //password
  5. $bd = "prueba"; //base de datos
  6.  
  7. //realiza la conexion
  8. $ln = mysql_connect($server, $user, $pass) or die(mysql_error());
  9. //selecciona la base de datos
  10.  
  11. //query para insertar los datos
  12. $sql = "insert into prueba (campo1, campo2) values('".$_REQUEST[campo1]."','".$_REQUEST[campo2]."')";
  13.  
  14. //ejecuta el query
  15. $rs = mysql_query($sql) or die (mysql_error());
  16. //cuenta los registros añadidos
  17. $regadd = mysql_affected_rows();
  18.  
  19. //muestra un mensaje dependiendo de si hizo o no la insercion
  20. if ($redadd>0){
  21.     echo "registro añadido"
  22. }
  23. else{
  24.     echo "no se agrego el nuevo registro"
  25. }
  26.  
  27. //libera el recordset
  28. //cierra la conexion

esto es un script de insercion de datos comentado
y esto como lo llamo en el botón?
  #16 (permalink)  
Antiguo 24/10/2011, 12:31
Avatar de tomark4  
Fecha de Ingreso: septiembre-2007
Mensajes: 154
Antigüedad: 16 años, 7 meses
Puntos: 29
Respuesta: no me ingresan los datos a la BD

guardas esto con un nombre por ej. insertar_datos.php y en el formulario en el apartado de action colocas el nombre del script cuando hagas click en el boton de submit el ejecutara el insertar_datos.php esta manera

Código HTML:
Ver original
  1. <form name='prueba' action='insertar_datos.php' method='post'></form>
  #17 (permalink)  
Antiguo 24/10/2011, 12:39
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: no me ingresan los datos a la BD

Cita:
Iniciado por tomark4 Ver Mensaje
guardas esto con un nombre por ej. insertar_datos.php y en el formulario en el apartado de action colocas el nombre del script cuando hagas click en el boton de submit el ejecutara el insertar_datos.php esta manera

Código HTML:
Ver original
  1. <form name='prueba' action='insertar_datos.php' method='post'></form>
osea el botón no lleva nada?
  #18 (permalink)  
Antiguo 24/10/2011, 12:41
Avatar de tomark4  
Fecha de Ingreso: septiembre-2007
Mensajes: 154
Antigüedad: 16 años, 7 meses
Puntos: 29
Respuesta: no me ingresan los datos a la BD

no el boton no lleva nada, a menos que quieras hacer validaciones de campos que sean obligatorios con javascript pero eso es otro tema.
  #19 (permalink)  
Antiguo 24/10/2011, 12:58
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: no me ingresan los datos a la BD

Cita:
Iniciado por vitocourt Ver Mensaje
y esto como lo llamo en el botón?
el codigo me está arrojando errores y no se q sea
  #20 (permalink)  
Antiguo 24/10/2011, 12:59
Avatar de tomark4  
Fecha de Ingreso: septiembre-2007
Mensajes: 154
Antigüedad: 16 años, 7 meses
Puntos: 29
Respuesta: no me ingresan los datos a la BD

debes cambiar los datos de tu base de datos por los tuyos al igual que tu sql de insertar. que errores para ayudarte mejor
  #21 (permalink)  
Antiguo 24/10/2011, 13:16
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: no me ingresan los datos a la BD

ahi son los errores y no se porque, ya he cambiado todo

$ln = mysql_connect($server, $user, $pass) or die(mysql_error());

$sql = "insert into encuesta (nombre, telefono, producto, direccion, empresa, usuario) values('".$_REQUEST["nombre"]."','".$_REQUEST["telefono"]."','".$_REQUEST["producto"]."','".$_REQUEST["direccion"]."','".$_REQUEST["empresa"]."','".$_REQUEST["usuario"]."')";

$rs = mysql_query($sql) or die (mysql_error());

if ($redadd>0){
* * echo "registro añadido"
}
  #22 (permalink)  
Antiguo 24/10/2011, 13:30
Avatar de tomark4  
Fecha de Ingreso: septiembre-2007
Mensajes: 154
Antigüedad: 16 años, 7 meses
Puntos: 29
Respuesta: no me ingresan los datos a la BD

que dicen los errores ?
  #23 (permalink)  
Antiguo 24/10/2011, 13:36
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: no me ingresan los datos a la BD

dreamweaver me dice que hay error de sintaxis.

al correr por el navegador firebug no muestra errores pero no inserta en la BD
  #24 (permalink)  
Antiguo 25/10/2011, 08:40
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: no me ingresan los datos a la BD

despues de tanto hacer cosas

solo borre codigo y lo movi una linea mas arriba y asi se fueron llendo los errores, el documento basicamente es el mismo, acá lo dejo

Código PHP:
Ver original
  1. <?php
  2. $sever = "localhost"; //servidor
  3. $user = "root"; //usuario
  4. $pass = ""; //password
  5. $bd = "prueba"; //base de datos
  6.  
  7. //query para insertar los datos
  8. $query = "insert into encuesta (nombre, telefono, producto, direccion, empresa, usuario) values('".$_REQUEST[nombre]."','".$_REQUEST[telefono]."','".$_REQUEST[producto]."','".$_REQUEST[direccion]."','".$_REQUEST[empresa]."','".$_REQUEST[usuario]."')";
  9.  
  10. //conectar bd
  11. $cn = mysql_connect($server, $user, $pass) or die(mysql_error());
  12.  
  13. //selecciona la base de datos
  14.  
  15. //se ejecuta query
  16. $result = mysql_query($query);
  17.  
  18. //cuenta registros ingresados
  19. $regadd = mysql_affected_rows();
  20.  
  21. //imprimir si se guardaron o no los datos
  22. if(!$regadd>0){
  23.     echo "no se han guardado los datos";
  24. }
  25. else{
  26.     echo "registro guardado";  
  27. }
  28.  
  29.  
  30. // Comprobar resultado
  31. if (!$result) {
  32.     $message  = 'Invalid query: ' . mysql_error() . "\n";
  33.     $message .= 'Whole query: ' . $query;
  34.     die($message);
  35. }
  36.  
  37. //libera resulset
  38.  
  39. //cierra conexion
  40.  
  41. ?>

muchisimas gracias tomark4 por la ayuda, estoy inmensamente agradecido

Etiquetas: bd, mysql, registro, sql, usuarios
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 01:08.