Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema al insertar datos

Estas en el tema de Problema al insertar datos en el foro de PHP en Foros del Web. Hola amigos, estoy iniciándome con PHP y Mysql y probando a crear una base de datos donde ir insertando usuarios. Me surge un problema que ...

  #1 (permalink)  
Antiguo 23/04/2013, 11:53
Avatar de cainfoxy  
Fecha de Ingreso: abril-2003
Ubicación: Santa Cruz de Tenerife
Mensajes: 18
Antigüedad: 21 años
Puntos: 0
Problema al insertar datos

Hola amigos, estoy iniciándome con PHP y Mysql y probando a crear una base de datos donde ir insertando usuarios. Me surge un problema que no se detectar. He creado un html con un formulario para insertar usuario y contraseña. También he creado la conexión a la base de datos la cual parece funcionar bien. Y por último el php para la inserción de datos a la bd. Y es aquí donde parece que hay un error. A ver si me pueden echar una mano. Pongo el código de los tres archivos a ver si se me escapó algo por algún lugar.

Gracias

Código HTML:
Ver original
  1. //el HTML
  2.  
  3. <!doctype html>
  4. <html lang="es">
  5.     <meta charset="UTF-8">
  6.     <title>Acceso</title>
  7. </head>
  8.     <form action="adentro.php" method="post" name="form">
  9.         <input type="text" name="usuario" /><br /><br />
  10.         <input type="password" name="pw" /><br /><br />
  11.         <input type="submit" value="insertar datos" />
  12.     </form>
  13. </body>
  14. </html>

Código PHP:
Ver original
  1. // la conexión a la base de datos
  2.  
  3. <?php
  4.  
  5. $host = "localhost";
  6. $user = "root";
  7. $pw = "*********";
  8. $db = "************";
  9.  
  10. ?>

Código PHP:
Ver original
  1. // el php de la inserción
  2.  
  3. <?php
  4. include("conecta.php");
  5. if(isset($POST['usuario']) && !empty($_POST['usuario']) &&
  6. isset($POST['pw']) && !empty($_POST['pw']))
  7.  
  8. {
  9. $con=mysql_connect($host,$user,$pw)or die("problemas al conectar");
  10. mysql_select_db($db,$con)or die("problemas al conectar la bd");
  11.  
  12. mysql_query("INSERT INTO usuario(USUARIO,PW) VALUES ('$_POST[usuario]','$_POST[pw]')",$con);
  13. echo "datos insertados";
  14. }else{
  15.     echo "problemas al insertar datos";
  16. }
  17.  
  18. ?>

Última edición por gnzsoloyo; 23/04/2013 a las 12:31
  #2 (permalink)  
Antiguo 23/04/2013, 13:15
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: Problema al insertar datos

A primera vista parece estar todo bien. Para conocer mejor el problema conviene capturar el error de MySQL cuando no se realiza la inserción. Eso te puede dar pista de en qué estás fallando.
  #3 (permalink)  
Antiguo 23/04/2013, 14:05
Avatar de Ekel  
Fecha de Ingreso: noviembre-2009
Mensajes: 62
Antigüedad: 14 años, 5 meses
Puntos: 3
Respuesta: Problema al insertar datos

cambia esto:
Código PHP:
mysql_query("INSERT INTO usuario(USUARIO,PW) VALUES ('$_POST[usuario]','$_POST[pw]')",$con); 

por esto:

Código PHP:
mysql_query("INSERT INTO usuario(USUARIO,PW) VALUES ('".$_POST[usuario]."','".$_POST[pw]."')",$con); 
__________________
Black Nation Army
  #4 (permalink)  
Antiguo 23/04/2013, 16:02
Avatar de cainfoxy  
Fecha de Ingreso: abril-2003
Ubicación: Santa Cruz de Tenerife
Mensajes: 18
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema al insertar datos

Hola chicos, gracias por la pronta respuesta. He probado a cambiar esa línea, no sirvió. Y ahora estaba probando a obtener el error pero no se si estoy poniendo bien la orden. ¿Que me dicen?

Código PHP:
Ver original
  1. mysql_query("INSERT INTO usuario(USUARIO,PW) VALUES ('$_POST[usuario]','$_POST[pw]')",$con)or die(mysql_error());

Gracias.
  #5 (permalink)  
Antiguo 23/04/2013, 18:41
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Problema al insertar datos

Probala en el motor de la base de datos manualmente, si usas wampserver xampp, etc podes meter la consulta manual con phpmyadmin.
Código SQL:
Ver original
  1. INSERT INTO usuario (USUARIO,PW) VALUES('usuario','password');
  #6 (permalink)  
Antiguo 23/04/2013, 20:04
Avatar de gustavopino  
Fecha de Ingreso: septiembre-2011
Ubicación: venezuela
Mensajes: 152
Antigüedad: 12 años, 7 meses
Puntos: 29
Respuesta: Problema al insertar datos

amigo que version de php estas usando? ya que lo que estas colocando:
Código PHP:
Ver original
  1. mysql_query("INSERT INTO usuario(USUARIO,PW) VALUES ('$_POST[usuario]','$_POST[pw]')",$con)or die(mysql_error());
en PHP 5.3 o superior esta obsoleta ya que se esta usando es mysqli_query O PDO aqui en este mismo foro castorV explica eso
__________________
Visita a Publiventa donde compras y vendes de todo
  #7 (permalink)  
Antiguo 23/04/2013, 20:38
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Problema al insertar datos

¡cuidado!

http://www.php.net/manual/es/intro.mysql.php

Cita:
Introducción
Esta extensión está obsoleta a partir de PHP 5.5.0 y no está recomendada para escribir código nuevo, ya que será eliminada en el futuro. En su lugar, se debería utilizar la extensión mysqli o PDO_MySQL.
no se recomienda pero se puede aplicar todavía.
  #8 (permalink)  
Antiguo 23/04/2013, 23:46
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: Problema al insertar datos

Cita:
Iniciado por cainfoxy Ver Mensaje
Código PHP:
Ver original
  1. mysql_query("INSERT INTO usuario(USUARIO,PW) VALUES ('$_POST[usuario]','$_POST[pw]')",$con)or die(mysql_error());
¿Esto que te da como resultado? Además de la no inserción del registro...
  #9 (permalink)  
Antiguo 24/04/2013, 01:13
Avatar de cainfoxy  
Fecha de Ingreso: abril-2003
Ubicación: Santa Cruz de Tenerife
Mensajes: 18
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema al insertar datos

Cita:
Iniciado por gustavopino Ver Mensaje
amigo que version de php estas usando? ya que lo que estas colocando:
Código PHP:
Ver original
  1. mysql_query("INSERT INTO usuario(USUARIO,PW) VALUES ('$_POST[usuario]','$_POST[pw]')",$con)or die(mysql_error());
en PHP 5.3 o superior esta obsoleta ya que se esta usando es mysqli_query O PDO aqui en este mismo foro castorV explica eso

La versión que tengo en el servidor es: Version de PHP 5.2.17
  #10 (permalink)  
Antiguo 24/04/2013, 01:16
Avatar de cainfoxy  
Fecha de Ingreso: abril-2003
Ubicación: Santa Cruz de Tenerife
Mensajes: 18
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema al insertar datos

Cita:
Iniciado por rodrigo791 Ver Mensaje
Probala en el motor de la base de datos manualmente, si usas wampserver xampp, etc podes meter la consulta manual con phpmyadmin.
Código SQL:
Ver original
  1. INSERT INTO usuario (USUARIO,PW) VALUES('usuario','password');
Estoy usando un servidor online, de pago.
  #11 (permalink)  
Antiguo 24/04/2013, 01:21
Avatar de cainfoxy  
Fecha de Ingreso: abril-2003
Ubicación: Santa Cruz de Tenerife
Mensajes: 18
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema al insertar datos

Cita:
Iniciado por sjj Ver Mensaje
¿Esto que te da como resultado? Además de la no inserción del registro...
No me reporta ningún error, solo me pone el echo "problemas al insertar datos" por eso preguntaba si tenía bien la sintaxis de la órden.

Gracias
  #12 (permalink)  
Antiguo 24/04/2013, 05:44
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problema al insertar datos

Cita:
Iniciado por cainfoxy Ver Mensaje
No me reporta ningún error, solo me pone el echo "problemas al insertar datos" por eso preguntaba si tenía bien la sintaxis de la órden.

Gracias
En la salida por error no debes nunca poner un simple textito, porque eso no te sirve de nada. Lo que debes hacer es mostrar el mensaje de error y número que devuelve la base de datos (si, todos los DBMS devuelven mensajes), porque es lo único que te dará alguna pista para eso.
En el caso de MYSQLI, tiene sus funciones específicas (ver en el manual: mysqli_error)
La vieja librería MySQL tambien tiene su llamada (mysql_error)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #13 (permalink)  
Antiguo 24/04/2013, 06:29
Avatar de cainfoxy  
Fecha de Ingreso: abril-2003
Ubicación: Santa Cruz de Tenerife
Mensajes: 18
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema al insertar datos

Cita:
Iniciado por gnzsoloyo Ver Mensaje
En la salida por error no debes nunca poner un simple textito, porque eso no te sirve de nada. Lo que debes hacer es mostrar el mensaje de error y número que devuelve la base de datos (si, todos los DBMS devuelven mensajes), porque es lo único que te dará alguna pista para eso.
En el caso de MYSQLI, tiene sus funciones específicas (ver en el manual: [URL="http://php.net/manual/es/mysqli.error.php"]mysqli_error[/URL])
La vieja librería MySQL tambien tiene su llamada ([URL="http://www.php.net/manual/es/function.mysql-error.php"]mysql_error[/URL])
Hola, he cambiado esta línea

Código PHP:
echo "problemas al insertar datos"
por esta otra

Código PHP:
echo "Error: ".mysql_errno(); 
pero no me muestra nada, solo " Error: " sin las comillas y sin ningún número de error.

Gracias por la ayuda.
  #14 (permalink)  
Antiguo 24/04/2013, 06:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problema al insertar datos

mysql_errno() es el numero de error, no el error...
Cita:
mysql_errno() - Devuelve el valor numérico del mensaje de error de la última operación MySQL
Por favor, fíjate bien en los ejemplos del manual:
Código PHP:
Ver original
  1. $result = mysql_query($query);
  2.  if (mysql_errno()) {
  3.   echo "MySQL error ".mysql_errno().": ".mysql_error()."\n<br>Al ejecutar:<br>\n$query";
  4.  }
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #15 (permalink)  
Antiguo 24/04/2013, 07:14
 
Fecha de Ingreso: marzo-2013
Ubicación: cali
Mensajes: 9
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Problema al insertar datos

yo lo que haria seria poner en vez de esto
mysql_query("INSERT INTO usuario(USUARIO,PW) VALUES ('$_POST[usuario]','$_POST[pw]')",$con);

lo pondria asi
$query="INSERT INTO usuario(USUARIO,PW) VALUES ('$_POST[usuario]','$_POST[pw]')";
mysql_query($query,$con);
echo $query;

el query que te muestra lo ejecutas en el phpmyadmin y ahi te puedes dar cuenta cual es el error.

Puede que no te esten llegando los datos POST

Última edición por strauss62; 24/04/2013 a las 07:26
  #16 (permalink)  
Antiguo 24/04/2013, 08:49
Avatar de cainfoxy  
Fecha de Ingreso: abril-2003
Ubicación: Santa Cruz de Tenerife
Mensajes: 18
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema al insertar datos

Cita:
Iniciado por strauss62 Ver Mensaje
yo lo que haria seria poner en vez de esto
mysql_query("INSERT INTO usuario(USUARIO,PW) VALUES ('$_POST[usuario]','$_POST[pw]')",$con);

lo pondria asi
$query="INSERT INTO usuario(USUARIO,PW) VALUES ('$_POST[usuario]','$_POST[pw]')";
mysql_query($query,$con);
echo $query;

el query que te muestra lo ejecutas en el phpmyadmin y ahi te puedes dar cuenta cual es el error.

Puede que no te esten llegando los datos POST


He probado a cambiar esa línea por lo que me propones, pero hace exactamente lo mismo.
  #17 (permalink)  
Antiguo 24/04/2013, 08:51
Avatar de cainfoxy  
Fecha de Ingreso: abril-2003
Ubicación: Santa Cruz de Tenerife
Mensajes: 18
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema al insertar datos

Cita:
Iniciado por gnzsoloyo Ver Mensaje
mysql_errno() es el numero de error, no el error...

Por favor, fíjate bien en los ejemplos del manual:
Código PHP:
Ver original
  1. $result = mysql_query($query);
  2.  if (mysql_errno()) {
  3.   echo "MySQL error ".mysql_errno().": ".mysql_error()."\n<br>Al ejecutar:<br>\n$query";
  4.  }
No consigo que me muestre error alguno.
  #18 (permalink)  
Antiguo 24/04/2013, 09:29
Avatar de evolutionrgm  
Fecha de Ingreso: mayo-2011
Mensajes: 108
Antigüedad: 12 años, 11 meses
Puntos: 5
Respuesta: Problema al insertar datos

Amigo en la parte que tienes el echo "error al ingresar dato" reemplazalo por esto

Código PHP:
Ver original
  1. echo '<p style="color:#00F">'. "ERROR al Registrar - ". mysql_errno().":". mysql_error()."<br>";
lo otro tu conexion funka te tira algun mensaje de que conecta o se cae deberias partir por eso y despues inserta lo que te digo yo
  #19 (permalink)  
Antiguo 24/04/2013, 19:24
Avatar de cainfoxy  
Fecha de Ingreso: abril-2003
Ubicación: Santa Cruz de Tenerife
Mensajes: 18
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema al insertar datos

Cita:
Iniciado por evolutionrgm Ver Mensaje
Amigo en la parte que tienes el echo "error al ingresar dato" reemplazalo por esto

Código PHP:
Ver original
  1. echo '<p style="color:#00F">'. "ERROR al Registrar - ". mysql_errno().":". mysql_error()."<br>";
lo otro tu conexion funka te tira algun mensaje de que conecta o se cae deberias partir por eso y despues inserta lo que te digo yo
Hola de nuevo, he probado lo que me pones en esa línea pero solo sale Error al Registrar en azul, nada más.
  #20 (permalink)  
Antiguo 24/04/2013, 19:28
Avatar de cainfoxy  
Fecha de Ingreso: abril-2003
Ubicación: Santa Cruz de Tenerife
Mensajes: 18
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema al insertar datos

He probado a colocar el siguiente código para cerciorarme de que se conecta a la base de datos y sí, efectivamente se conecta, y me muestra además que la tabla no contiene registro alguno. Así que el fallo está en la instrucción SQL imagino.


Código PHP:
<HTML>
<HEAD></HEAD>
<BODY>
<?
#Test de prueba MYSQL de @CCESOPERU
# http://accesoperu.com

#Los datos de acceso:

$hostname "localhost";
$usuario "*********";
$password "********";
$basededatos "*******";
$tabla "usuario";


#Conectando con MySQL
$idconnect=mysql_connect("$hostname""$usuario""$password");

if (
$idconnect==0)
echo 
"Lo sentimos, no se ha podido conectar con la MySQL";
else {
echo 
"Se logr&oacute; conectar con MySQL";
echo 
"<br>";


#Conectando con la base de datos
            
$dbconnect mysql_select_db("$basededatos",$idconnect);
            if (
$dbconnect==0)
            echo 
"Lo sentimos, no se ha podido conectar con la base datos: $basededatos<br>";
            else
            {
            echo 
"Se logr&oacute; conectar con la base de datos: $basededatos<br>";
            echo 
"<br>";

#Probando una tabla
                    
$idresult=mysql_query ("SELECT count(*) from $tabla;",$idconnect);
                    if (
$idresult==0) echo "Sentencia incorrecta llamado a tabla: $tabla.";
                    else
                    {
                            
$nregistrostotal=mysql_result ($idresult,0,0);
                            echo 
"Hay $nregistrostotal registros en la tabla: $tabla.";
                            
mysql_free_result($idresult);
                     }
            }


        }
mysql_close($idconnect);
?>
</BODY>
</HTML>
Qué me decís??

Gracias.
  #21 (permalink)  
Antiguo 24/04/2013, 21:39
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problema al insertar datos

Pues si jamás se han cargado los datos en ella tienes dos opciones:
1) Una o más variables de las que usas para manejar el nombre de la tabla y los datos están llegando vacías, y por tanto la consulta no se está creando bien.
2) Estás violando alguna restricción de la base, lo que impide que se inserte el registro. Esto puede ser falta de valores en datos que son NOT NULL, violaciones de integridad referencia, errores de datos producto de caracteres que rompen el SQL, etc.

Para empezar a descartar esos problemas, hay dos cosas por hacer:
1) Muestranos el CREATE TABLE de las tablas que intentas usar (es imposible saber cuáles porque tu sentencia es dinámica y mete el nombre al momento de crear la sentencia).
O sea, en el caso de la tabla "Usuario", ve al phpMyadmin y ejecuta:

Código MySQL:
Ver original
  1. SHOW CREATE TABLE usuario;
Luego postea el resultado acá.

2) Captura la sentencia antes de enviarla y posteala. Sería muy importante verificar qué es lo que realmente está recibiendo MySQL.
Esto último es tan sencillo como poner:

Código PHP:
Ver original
  1. echo "INSERT INTO usuario(USUARIO,PW) VALUES ('$_POST[usuario]','$_POST[pw]')";
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #22 (permalink)  
Antiguo 25/04/2013, 02:19
Avatar de cainfoxy  
Fecha de Ingreso: abril-2003
Ubicación: Santa Cruz de Tenerife
Mensajes: 18
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema al insertar datos

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Pues si jamás se han cargado los datos en ella tienes dos opciones:
1) Una o más variables de las que usas para manejar el nombre de la tabla y los datos están llegando vacías, y por tanto la consulta no se está creando bien.
2) Estás violando alguna restricción de la base, lo que impide que se inserte el registro. Esto puede ser falta de valores en datos que son NOT NULL, violaciones de integridad referencia, errores de datos producto de caracteres que rompen el SQL, etc.

Para empezar a descartar esos problemas, hay dos cosas por hacer:
1) Muestranos el CREATE TABLE de las tablas que intentas usar (es imposible saber cuáles porque tu sentencia es dinámica y mete el nombre al momento de crear la sentencia).
O sea, en el caso de la tabla "Usuario", ve al phpMyadmin y ejecuta:

Código MySQL:
Ver original
  1. SHOW CREATE TABLE usuario;
Luego postea el resultado acá.

2) Captura la sentencia antes de enviarla y posteala. Sería muy importante verificar qué es lo que realmente está recibiendo MySQL.
Esto último es tan sencillo como poner:

Código PHP:
Ver original
  1. echo "INSERT INTO usuario(USUARIO,PW) VALUES ('$_POST[usuario]','$_POST[pw]')";
Ejecutando el paso 1 me aparece lo siguiente:
Código PHP:
UPDATE `usuarioSET `ID`=[value-1],`USUARIO`=[value-2],`PW`=[value-3WHERE 1 
Y capturando la sentencia esto otro:
INSERT INTO usuario(USUARIO,PW) VALUES ('cainfoxy','fadsf')
Los datos parece que si los envía.
  #23 (permalink)  
Antiguo 25/04/2013, 02:56
Avatar de cainfoxy  
Fecha de Ingreso: abril-2003
Ubicación: Santa Cruz de Tenerife
Mensajes: 18
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema al insertar datos

Les pego el link a una captura de la tabla.

http://bit.ly/Zugx1b
  #24 (permalink)  
Antiguo 25/04/2013, 03:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problema al insertar datos

Esto:
Código SQL:
Ver original
  1. UPDATE `usuario` SET `ID`=[value-1],`USUARIO`=[value-2],`PW`=[value-3] WHERE 1
No puede ser jamás el resultado de esto:
Código SQL:
Ver original
  1. SHOW CREATE TABLE usuario;
Porque lo que debe devolver es la sintaxis de creación de la tabla Usuario. Es decir un "CREATE TABLE usuario(...".

Hazlo otra vez.


Lo que sí puedo dcirte es que no entiendo de dónde sale esto:
Código SQL:
Ver original
  1. UPDATE `usuario` SET `ID`=[value-1],`USUARIO`=[value-2],`PW`=[value-3] WHERE 1
Porque es un operación mal escrita y sin sentido dentro de MySQL.
Mal escrita, porque los corchetes no corresponden a ningún uso en MySQL, y ademas "value" es una palabra reservada que sin duda detonaría un error de sintaxis.
Sin sentido, porque no se ve que se supone que debe hacer. MySQL no interpretará esa sentencia de ninguna forma si no sabe lo que es "value".
¿Cómo se origina eso?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #25 (permalink)  
Antiguo 25/04/2013, 03:19
Avatar de cainfoxy  
Fecha de Ingreso: abril-2003
Ubicación: Santa Cruz de Tenerife
Mensajes: 18
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema al insertar datos

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Esto:
Código SQL:
Ver original
  1. UPDATE `usuario` SET `ID`=[value-1],`USUARIO`=[value-2],`PW`=[value-3] WHERE 1
No puede ser jamás el resultado de esto:
Código SQL:
Ver original
  1. SHOW CREATE TABLE usuario;
Porque lo que debe devolver es la sintaxis de creación de la tabla Usuario. Es decir un "CREATE TABLE usuario(...".

Hazlo otra vez.


Lo que sí puedo dcirte es que no entiendo de dónde sale esto:
Código SQL:
Ver original
  1. UPDATE `usuario` SET `ID`=[value-1],`USUARIO`=[value-2],`PW`=[value-3] WHERE 1
Porque es un operación mal escrita y sin sentido dentro de MySQL.
Mal escrita, porque los corchetes no corresponden a ningún uso en MySQL, y ademas "value" es una palabra reservada que sin duda detonaría un error de sintaxis.
Sin sentido, porque no se ve que se supone que debe hacer. MySQL no interpretará esa sentencia de ninguna forma si no sabe lo que es "value".
¿Cómo se origina eso?

Parece que le di al botón equivocado. Ahora me sale esto otro.
Código SQL:
Ver original
  1. INSERT INTO `usuario`(`ID`, `USUARIO`, `PW`) VALUES ([value-1],[value-2],[value-3])
  #26 (permalink)  
Antiguo 25/04/2013, 04:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problema al insertar datos

Sigue siendo un error...
Te dije que esa consulta debería devolver un CREATE TABLE...
¿Que se supone que estás haciendo?

Ve a la ventana de "SQL" y ejecuta la consulta tal y como te la estoy escribiendo. Eso es todo lo que tienes que hacer.
¿Nunca usaste esa ventana?

Es una de las pestañas disponibles del phpMyadmin, o de cualquier interfaz que tengas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #27 (permalink)  
Antiguo 25/04/2013, 04:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problema al insertar datos

Volviendo al otro punto:
Cita:
INSERT INTO usuario(USUARIO,PW) VALUES ('cainfoxy','fadsf')
Los datos parece que si los envía.
Código PHP:
Ver original
  1. Si, en ese contexto, los envía, pero en tu script no verificas nada:
  2. // el php de la inserción
  3.  
  4. <?php
  5. include("conecta.php");
  6. if(isset($POST['usuario']) && !empty($_POST['usuario']) &&
  7. isset($POST['pw']) && !empty($_POST['pw']))
  8.   {
  9.   $con=mysql_connect($host,$user,$pw)or die("problemas al conectar");
  10.   mysql_select_db($db,$con)or die("problemas al conectar la bd");
  11.   mysql_query("INSERT INTO usuario(USUARIO,PW) VALUES('$_POST[usuario]','$_POST[pw]')",$con);
  12.    echo "datos insertados";
  13. }else{
  14.     echo "problemas al insertar datos";
  15. }
  16.  
  17. ?>

Por lo menos deberías hacer eso:
Código PHP:
Ver original
  1. // el php de la inserción
  2.  
  3. <?php
  4. include("conecta.php");
  5. if(isset($POST['usuario']) && !empty($_POST['usuario']) &&
  6. isset($POST['pw']) && !empty($_POST['pw']))
  7.   {
  8.   $con=mysql_connect($host,$user,$pw)or die("problemas al conectar");
  9.   mysql_select_db($db,$con)or die("problemas al conectar la bd");
  10.   $result = mysql_query("INSERT INTO usuario(USUARIO,PW)
  11.  VALUES ('$_POST[usuario]','$_POST[pw]')",$con);
  12.   if(!$result)
  13.     {echo "datos insertados";}
  14.     else{echo "problemas al insertar datos";}
  15.   }
  16.   else
  17.   {echo "Sin datos suficientes para insertar";}
  18.  
  19. ?>
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #28 (permalink)  
Antiguo 25/04/2013, 04:18
Avatar de cainfoxy  
Fecha de Ingreso: abril-2003
Ubicación: Santa Cruz de Tenerife
Mensajes: 18
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema al insertar datos

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Sigue siendo un error...
Te dije que esa consulta debería devolver un CREATE TABLE...
¿Que se supone que estás haciendo?

Ve a la ventana de "SQL" y ejecuta la consulta tal y como te la estoy escribiendo. Eso es todo lo que tienes que hacer.
¿Nunca usaste esa ventana?

Es una de las pestañas disponibles del phpMyadmin, o de cualquier interfaz que tengas.
Perdón, estoy aprendiendo a manejar esto.

Este es el resultado:

Table Create Table
usuario CREATE TABLE `usuario` (
`ID` int(11) NOT NULL A...

Gracias.
  #29 (permalink)  
Antiguo 25/04/2013, 04:31
Avatar de cainfoxy  
Fecha de Ingreso: abril-2003
Ubicación: Santa Cruz de Tenerife
Mensajes: 18
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema al insertar datos

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Volviendo al otro punto:

Código PHP:
Ver original
  1. Si, en ese contexto, los envía, pero en tu script no verificas nada:
  2. // el php de la inserción
  3.  
  4. <?php
  5. include("conecta.php");
  6. if(isset($POST['usuario']) && !empty($_POST['usuario']) &&
  7. isset($POST['pw']) && !empty($_POST['pw']))
  8.   {
  9.   $con=mysql_connect($host,$user,$pw)or die("problemas al conectar");
  10.   mysql_select_db($db,$con)or die("problemas al conectar la bd");
  11.   mysql_query("INSERT INTO usuario(USUARIO,PW) VALUES('$_POST[usuario]','$_POST[pw]')",$con);
  12.    echo "datos insertados";
  13. }else{
  14.     echo "problemas al insertar datos";
  15. }
  16.  
  17. ?>

Por lo menos deberías hacer eso:
Código PHP:
Ver original
  1. // el php de la inserción
  2.  
  3. <?php
  4. include("conecta.php");
  5. if(isset($POST['usuario']) && !empty($_POST['usuario']) &&
  6. isset($POST['pw']) && !empty($_POST['pw']))
  7.   {
  8.   $con=mysql_connect($host,$user,$pw)or die("problemas al conectar");
  9.   mysql_select_db($db,$con)or die("problemas al conectar la bd");
  10.   $result = mysql_query("INSERT INTO usuario(USUARIO,PW)
  11.  VALUES ('$_POST[usuario]','$_POST[pw]')",$con);
  12.   if(!$result)
  13.     {echo "datos insertados";}
  14.     else{echo "problemas al insertar datos";}
  15.   }
  16.   else
  17.   {echo "Sin datos suficientes para insertar";}
  18.  
  19. ?>

Probando el Script como me lo has propuesto me sale en el último echo.

Sin datos suficientes para insertar.
  #30 (permalink)  
Antiguo 25/04/2013, 06:10
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problema al insertar datos

Cita:
Iniciado por cainfoxy Ver Mensaje
Perdón, estoy aprendiendo a manejar esto.

Este es el resultado:

Table Create Table
usuario CREATE TABLE `usuario` (
`ID` int(11) NOT NULL A...

Gracias.
Copia todo...

Si te fijas, en phpMyadmin, encima de la tabla hay una "T" grandota como "<-T->", pulsala y te mostrará todo el contenido de la consulta.
Copia ESO y postealo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: insert, mysql
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 19:15.