Foros del Web » Programando para Internet » PHP »

No se insertan los datos en la BD

Estas en el tema de No se insertan los datos en la BD en el foro de PHP en Foros del Web. Hola chicos tengo una DB Mysql y un formulario php y no se insertan los datos... estamos trabajando con eso en clase pero con decirles ...
  #1 (permalink)  
Antiguo 03/11/2009, 16:03
Avatar de DaphneLau  
Fecha de Ingreso: septiembre-2009
Mensajes: 46
Antigüedad: 15 años, 2 meses
Puntos: 0
No se insertan los datos en la BD

Hola chicos tengo una DB Mysql y un formulario php y no se insertan los datos... estamos trabajando con eso en clase pero con decirles que ni el profesor pudo dar con el problema...

Les dejo el link para ver si le pueden echar un vistazo... gracias.

...tinypaste.com/1135b
  #2 (permalink)  
Antiguo 03/11/2009, 16:17
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 1 mes
Puntos: 265
Respuesta: No se insertan los datos en la BD

Que tipo de error te tira? Se ejecuta algun die? Asi nos haces mas rapida la busqueda.

Saludos.
  #3 (permalink)  
Antiguo 03/11/2009, 16:18
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 8 meses
Puntos: 25
Respuesta: No se insertan los datos en la BD

...... or die(mysql_error());
__________________
Hospedaje Web al mejor costo!
  #4 (permalink)  
Antiguo 03/11/2009, 16:48
Avatar de DaphneLau  
Fecha de Ingreso: septiembre-2009
Mensajes: 46
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: No se insertan los datos en la BD

Hola, gracias por responder.

Estoy probándolo ahora y en el código tengo esto por cada input

<td><input type="text" name="usuario" value="<?php=$usuario; ?>"></td>

Y cuando veo el formulario en el navegador dentro del input está esto <?php=$usuario; ?>

Lo que pasa es que en clase no me aparecía esto... alguien sabe por qué?
  #5 (permalink)  
Antiguo 03/11/2009, 16:50
Avatar de DaphneLau  
Fecha de Ingreso: septiembre-2009
Mensajes: 46
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: No se insertan los datos en la BD

No recuerdo ahora cuál era el error que tiraba en clase, pero los input no tenían el código dentro cuando lo veía en el navegador...
  #6 (permalink)  
Antiguo 03/11/2009, 16:50
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 1 mes
Puntos: 265
Respuesta: No se insertan los datos en la BD

Porque el short-tag es <?= $usuario ?> jeje...no como lo pusiste vos.

De todos modos no es bueno usar eso, al menos a mi siempre me recomendaron no usarlos.

Si pones <?php echo $usuario; ?> te va a funcionar.

Saludos.
  #7 (permalink)  
Antiguo 03/11/2009, 16:51
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 8 meses
Puntos: 25
Respuesta: No se insertan los datos en la BD

<?php=$usuario; ?> debe ser
<?=$usuario; ?>
__________________
Hospedaje Web al mejor costo!
  #8 (permalink)  
Antiguo 03/11/2009, 16:54
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 8 meses
Puntos: 25
Respuesta: No se insertan los datos en la BD

es lo mismo usar echo con <?=

es cuestión de simplificar código, muchas app grandes usan <?= sin problemas como son WHMCS, Softaculous, Installatron, etc...
__________________
Hospedaje Web al mejor costo!
  #9 (permalink)  
Antiguo 03/11/2009, 16:57
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 1 mes
Puntos: 265
Respuesta: No se insertan los datos en la BD

Yo lo decia pq para usar el short tag tenes q tener si o si puesto esto en php.ini: php.ini "short_opentag=On"

Para evitar problemas, yo uso el otro y listo. Cuestion de gustos jeje.

Saludos.
  #10 (permalink)  
Antiguo 03/11/2009, 17:23
Avatar de DaphneLau  
Fecha de Ingreso: septiembre-2009
Mensajes: 46
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: No se insertan los datos en la BD

Gracias, no sabía esto del short-tag. Así lo había puesto en clase el profe <?=... pero en casa mi navegador (Google Chrome) no lee nada de php si no es dentro de <?php por eso lo cambié...
  #11 (permalink)  
Antiguo 03/11/2009, 18:42
Avatar de DaphneLau  
Fecha de Ingreso: septiembre-2009
Mensajes: 46
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: No se insertan los datos en la BD

Chicos ya cambié los short-tags por <?php echo, cuando mando el formulario el error que tira es este

Error devueltoYou 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 1
  #12 (permalink)  
Antiguo 03/11/2009, 18:44
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 8 meses
Puntos: 25
Respuesta: No se insertan los datos en la BD

no coinciden los VALUES con los campos que estas poniendo ;) cuentalos. ó fijate el uso de comillas
__________________
Hospedaje Web al mejor costo!
  #13 (permalink)  
Antiguo 03/11/2009, 20:54
Avatar de DaphneLau  
Fecha de Ingreso: septiembre-2009
Mensajes: 46
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: No se insertan los datos en la BD

Los values estaban en desorden, ya los arreglé. Aún así me aparece el mismo error. Les pregunto: es lo mismo colocar

"update usuarios set psw='$psw', nombre='$nombre', apellido='$apellido',...etc"; que colocarlo de esta manera

Cita:
$sql= " update usuarios".
" set psw='$psw',".
"nombre='$nombre',".
"apellido='$apellido',".
"edad=$edad,".
"pais='$pais',".
"mail='$mail',".
"sexo='$sexo',".
"tipo='$tipo',".
"numero=$numero,".
"fuma='$fuma',".
"foto='$foto'".
" where usuario='$_GET[usumodifica]'";
}
@ $rs=mysql_query($sql, $link);
if(!$rs)
die("Error devuelto".mysql_error());

mysql_close($link);

echo "<br>Registro actualizado<br>";

Es lo mismo? Yo siempre lo hacía del primer modo...
  #14 (permalink)  
Antiguo 03/11/2009, 20:57
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 8 meses
Puntos: 25
Respuesta: No se insertan los datos en la BD

tienes un error en edad y numero, faltan las comillas simples.
__________________
Hospedaje Web al mejor costo!
  #15 (permalink)  
Antiguo 03/11/2009, 21:06
Avatar de DaphneLau  
Fecha de Ingreso: septiembre-2009
Mensajes: 46
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: No se insertan los datos en la BD

Ya lo corregí, en clase nos dijeron que los numéricos no llevaban comilla

Ahora se insertan en los campos de la BD pero vacíos y los números en 0.
Esto es lo que tengo antes del formulario, si te animas a seguir ayudándome

Código PHP:
<?php
    
if($_SERVER[REQUEST_METHOD]=="POST"){
        
//incluyo archivo de validación por php
        //include("validar.php");
    
}else{
        
//Si vino sin parámetro 'usumodifica'
        //Es un alta. Pongo validar por defecto
        
if(empty($_REQUEST[usumodifica])){
            
$fuma="n";
            
$tipo="dni";
        }else{ 
/*vino con el parámetro */
            //me conecto y cargo los datos
            
$link=mysql_connect("localhost""root""");
            
mysql_select_db("cursophp",$link);
            @ 
$rs=mysql_query("select * from usuarios where usuario='$_GET[usumodifica]'"$link);
            
$reg=mysql_fetch_array($rs);
            
//lleno las variables del form
            
$usuario=$reg[usuario];
            
$psw=$reg[psw];
            
$psw2=$psw;
            
$nombre=$reg[nombre];
            
$apellido=$reg[apellido];
            
$edad=$reg[edad];
            
$pais=$reg[pais];
            
$mail=$reg[mail];
            
$sexo=$reg[sexo];
            
$tipo=$reg[tipo];
            
$numero=$reg[numero];
            
$fuma=$reg[fuma];
            
$foto=$reg[foto];            
            
//cierro conexión
            
mysql_close($link);
        }
    } 
    
//Si no entró por post o hay un mensaje de error muestro el formulario normalmente
    
if(($_SERVER[REQUEST_METHOD]!="POST") or (!empty($msg)))
    {
  #16 (permalink)  
Antiguo 03/11/2009, 21:27
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 8 meses
Puntos: 25
Respuesta: No se insertan los datos en la BD

las variables están bien definidad pero a caso esas variables las defines en el form que hace el update?
__________________
Hospedaje Web al mejor costo!
  #17 (permalink)  
Antiguo 04/11/2009, 11:14
Avatar de jlmoreno31  
Fecha de Ingreso: mayo-2009
Ubicación: Barcelona
Mensajes: 174
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: No se insertan los datos en la BD

Te faltan todas las comillas.

Ejemplo:

$edad=$reg["edad"];

Saludos
  #18 (permalink)  
Antiguo 04/11/2009, 11:21
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 8 meses
Puntos: 77
Respuesta: No se insertan los datos en la BD

Las variables para el update $psw, $nombre, etc vienen de los datos del formulario? si es asi usa el array $_POST ($_POST['psw'], $_POST['nombre'], etc) (o $_GET si tu formulario envia por get) porque de la forma en que esta solo funciona si register_globlas esta activado.
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 22:20.