Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] No consigo meter datos a la BD

Estas en el tema de No consigo meter datos a la BD en el foro de PHP en Foros del Web. O esto ha cambiado mucho o no se porque no me funciona ahora Tengo este formulario de prueba: Código HTML: <form method= "post" action= "alta2_action.php" ...
  #1 (permalink)  
Antiguo 24/02/2014, 12:39
 
Fecha de Ingreso: febrero-2014
Ubicación: Murcia
Mensajes: 119
Antigüedad: 7 años, 7 meses
Puntos: 0
No consigo meter datos a la BD

O esto ha cambiado mucho o no se porque no me funciona ahora

Tengo este formulario de prueba:

Código HTML:
<form method="post" action="alta2_action.php">
  <table width="470" height="18"  cellpadding="2" cellspacing="2" class="estilotabla">
    <tr>
      <td colspan="6" class="estilocelda">INSERTAR NUEVO CLIENTE  </td>
    </tr>
    <tr>
      <td width="79">&nbsp;</td>
      <td colspan="3">&nbsp;</td>
    </tr>
    <tr>
      <td>Nombre:</td>
      <td width="106" class="volver"><label>
        <input type="text" name="nombre" id="nombre" />
      </label></td>
      <td width="91" class="volver">Apellidos:</td>
      <td class="volver"><input type="text" name="apellidos" id="apellidos" /></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td colspan="3" class="volver">&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>

      <td colspan="3">
        <input name="boton" type="submit" class="input147" style="height:17px" value="prueba" /></td>
    </tr>
  </table>
</form> 

y luego el action es:

Código PHP:
<?php 
//Conexion
   
include("conex.php"); 

//Valores
   
$link=Conectarse();  
   
$id=$_POST['id'];
   
$nombre=$_POST['nombre'];
   
$apellidos=$_POST['apellidos'];

   
//Consulta para actualizar
mysql_query("insert into prueba (id,nombre,apellidos) values ('','$nombre','$apellidos')",$link);

//Cerramos la conexion a DB
header("location: alta.php");

?>
Y no me inserta datos ninguno! A que se debe?
  #2 (permalink)  
Antiguo 24/02/2014, 12:43
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 8 años, 10 meses
Puntos: 36
Respuesta: No consigo meter datos a la BD

Código PHP:
Ver original
  1. mysql_query("insert into prueba (id,nombre,apellidos) values ('','$nombre','$apellidos')",$link) or die(mysql_error($link));
Ahí verás el error que cometes.
PD: Usa MySQLi

Saludos
  #3 (permalink)  
Antiguo 24/02/2014, 12:48
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.654
Antigüedad: 16 años, 2 meses
Puntos: 88
Respuesta: No consigo meter datos a la BD

Código PHP:
Ver original
  1. //Conexion
  2.    include("conex.php");
  3.  
  4. //Valores
  5.    $link=Conectarse();  
  6.    //$id=$_POST['id']; no lo necesitas, no lo envias por post
  7.    $nombre=$_POST['nombre'];
  8.    $apellidos=$_POST['apellidos'];
  9.  
  10.    
  11. //Consulta para actualizar
  12. mysql_query("insert into prueba (id,nombre,apellidos) values ('','$nombre','$apellidos')",$link) or die(mysql_error());
  13.  
  14. //Cerramos la conexion a DB
  15. //comentamos para poder ver el error si lo hay
  16. //header("location: alta.php");
esto de dará una idea.

Si estas comenzando con tu programa, te recomiendo usar pdo o mysqli, ya que mysql esta obsoleto

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #4 (permalink)  
Antiguo 24/02/2014, 12:55
 
Fecha de Ingreso: febrero-2014
Ubicación: Murcia
Mensajes: 119
Antigüedad: 7 años, 7 meses
Puntos: 0
Respuesta: No consigo meter datos a la BD

Perdoname por el follon pero por ejemplo he copiado y pegado y no sube nada.. no se realmente donde tengo el error en un simple ejemplo hoy no es mi dia!

Cita:
Iniciado por eits Ver Mensaje
Código PHP:
Ver original
  1. //Conexion
  2.    include("conex.php");
  3.  
  4. //Valores
  5.    $link=Conectarse();  
  6.    //$id=$_POST['id']; no lo necesitas, no lo envias por post
  7.    $nombre=$_POST['nombre'];
  8.    $apellidos=$_POST['apellidos'];
  9.  
  10.    
  11. //Consulta para actualizar
  12. mysql_query("insert into prueba (id,nombre,apellidos) values ('','$nombre','$apellidos')",$link) or die(mysql_error());
  13.  
  14. //Cerramos la conexion a DB
  15. //comentamos para poder ver el error si lo hay
  16. //header("location: alta.php");
esto de dará una idea.

Si estas comenzando con tu programa, te recomiendo usar pdo o mysqli, ya que mysql esta obsoleto

saludos.
  #5 (permalink)  
Antiguo 24/02/2014, 13:03
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.654
Antigüedad: 16 años, 2 meses
Puntos: 88
Respuesta: No consigo meter datos a la BD

si lo estas haciendo de forma local, verifica que tengas habilitado el display_errors en el php.ini
si no tienes acceso el php.ini, intenta con esto
Código PHP:
Ver original
  1. ini_set('display_errors',1);
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #6 (permalink)  
Antiguo 24/02/2014, 13:58
 
Fecha de Ingreso: febrero-2014
Ubicación: Murcia
Mensajes: 119
Antigüedad: 7 años, 7 meses
Puntos: 0
Respuesta: No consigo meter datos a la BD

Segun me dicen lo tengo habilitado la configuración que tengo en el servidor es La Configuración actualmente en uso es: 5.3.28 puedo poner una versión mas baja pero la verdad que ahora estoy en blanco que no se que hacer

Que otra cosa pudiera ser? Ya no se a que recurrir!!
  #7 (permalink)  
Antiguo 24/02/2014, 14:26
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 8 años, 10 meses
Puntos: 36
Respuesta: No consigo meter datos a la BD

Que estén malos los datos de Conexión, que la consulta esté mal
El ID es autoincrementable ?

Saludos
  #8 (permalink)  
Antiguo 24/02/2014, 14:42
 
Fecha de Ingreso: febrero-2014
Ubicación: Murcia
Mensajes: 119
Antigüedad: 7 años, 7 meses
Puntos: 0
Respuesta: No consigo meter datos a la BD

Da este error

Fatal error: Call to undefined function Conectarse() in /home/web/public_html/v1.0/alta2_action.php on line 6

en la linea 6 esta: $link=Conectarse();

Si el id es autoincrementable
  #9 (permalink)  
Antiguo 24/02/2014, 14:52
 
Fecha de Ingreso: febrero-2014
Ubicación: Murcia
Mensajes: 119
Antigüedad: 7 años, 7 meses
Puntos: 0
Respuesta: No consigo meter datos a la BD

Creia que era por link porque no esta en conex.php pero bueno ahora lo cambie y aun así no funciona..

en el conex.php tengo esto:

Código PHP:
<?php

  $dbhost 
'localhost';
  
$dbuser 'usuario';
  
$dbpass 'password'// NOTA: Reemplace password por el password de su cuenta de hosting

  
$conn mysql_connect($dbhost$dbuser$dbpass) or die ('Ocurrió un error al conectarse al servidor mysql');

  
$dbname 'BD';
  
mysql_select_db($dbname);

?>
En el action:

Código PHP:
<?php 
//Conexion
   
include("conex.php"); 
 
//Valores
   
$conn=Conectarse();  
   
   
$nombre=$_POST['nombre'];
   
$apellidos=$_POST['apellidos'];
 
   
//Consulta para actualizar
mysql_query("insert into prueba (id,nombre,apellidos) values ('','$nombre','$apellidos')",$conn) or die(mysql_error());
 
//Cerramos la conexion a DB
//comentamos para poder ver el error si lo hay
header("location: alta1.php");

?>

y el formulario:

Código HTML:
<form method="post" action="alta2_action.php">
  <table width="470" height="18"  cellpadding="2" cellspacing="2" class="estilotabla">
    <tr>
      <td colspan="6" class="estilocelda">INSERTAR NUEVO CLIENTE  </td>
    </tr>
    <tr>
      <td width="79">&nbsp;</td>
      <td colspan="3">&nbsp;</td>
    </tr>
    <tr>
      <td>Nombre:</td>
      <td width="106" class="volver"><label>
        <input type="text" name="nombre" id="nombre" />
      </label></td>
      <td width="91" class="volver">Apellidos:</td>
      <td class="volver"><input type="text" name="apellidos" id="apellidos" /></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td colspan="3" class="volver">&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>

      <td colspan="3">
        <input name="boton" type="submit" class="input147" style="height:17px" value="prueba" /></td>
    </tr>
  </table>
</form> 
Ahora mismo no se que puede ser
  #10 (permalink)  
Antiguo 24/02/2014, 14:58
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 8 años, 10 meses
Puntos: 36
Respuesta: No consigo meter datos a la BD

Conex.php
Código PHP:
Ver original
  1. <?php
  2. function Conectarse(){
  3.   $dbhost = 'localhost';
  4.   $dbuser = 'usuario';
  5.   $dbpass = 'password'; // NOTA: Reemplace password por el password de su cuenta de hosting
  6.  
  7.   $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Ocurrió un error al conectarse al servidor mysql');
  8.  
  9.   $dbname = 'BD';
  10.   mysql_select_db($dbname);
  11. return $conn;
  12. }
  13. ?>

Etiquetas: bd, formulario, meter, mysql, tabla
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 09:28.