Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   problema al insertar datos a tablas mysql (https://www.clubdelphi.com/foros/showthread.php?t=85872)

elmago00 18-05-2014 22:38:29

problema al insertar datos a tablas mysql
 
que tal amigos, tengo un problema a la hora de ingresar datos desde php a mysql.
lo he hecho de varias formas y de ninguna funciona. tal vez ustedes puedan ver el error.
miren el código por favor.

Código SQL [-]
database="nombre";
$user="tuusuario";
$password="password";
 
// Conectarse a la base de datos
$dbconn = new mysqli($dbhost,$user,$password,$database);



 
$ID = $_GET['NidUSER'];  
$NOMBRE = $_GET['NNOMBRE']; 
$PATERNO = $_GET['NAPPPATERNO']; 
$MATERNO = $_GET['NAPPMATERNO']; 
$CORREO = $_GET['NCORREO']; 
  




//Sacar datos del usuario receptor
   

 


$query= "INSERT INTO tbl_users (id_usuario,tx_nombre,tx_ApellidoPaterno,tx_ApellidoMaterno, tx_Correo)
VALUES ('$ID','NOMBRE','$PATERNO','$MATERNO','$CORREO')";           

$response = mysql_query($query);  



echo "¡Done!";






//Cerrrar conexion a la BD
// Desconectarse de la base de datos
$dbconn->close();
?>

otra manera que intento.

Código SQL [-]
database="nombre";
$user="tuusuario";
$password="password";
 
// Conectarse a la base de datos
$dbconn = new mysqli($dbhost,$user,$password,$database);



 
$ID = $_GET['NidUSER'];  
$NOMBRE = $_GET['NNOMBRE']; 
$PATERNO = $_GET['NAPPPATERNO']; 
$MATERNO = $_GET['NAPPMATERNO']; 
$CORREO = $_GET['NCORREO']; 




//Sacar datos del usuario receptor
   

 


$query= "INSERT INTO tbl_users (id_usuario,tx_nombre,tx_ApellidoPaterno,tx_ApellidoMaterno, tx_Correo)
VALUES ('{$_GET['NidUSER']}','{$_GET['NNOMBRE']}','{$_GET['NAPPPATERNO']}','{$_GET['NCORREO']}')";           

$response = mysql_query($query);  


echo "¡Done!";






//Cerrrar conexion a la BD
// Desconectarse de la base de datos
$dbconn->close();
?>

duilioisola 19-05-2014 10:38:37

¿Y cuál es el problema?
Responde lo siguiente porque como dicen... "la bola de cristal no la tenemos ninguno de nosotros"
Da un mensaje de error --> ¿Cuál?
No hace lo que esperas que haga --> ¿Qué es lo que hace?

roman 19-05-2014 18:01:40

Pues sí, como dice duilioisola, necesitamos saber qué es lo que esperas y cuál es el error.

Además de eso, quizá sea por el copia-pega pero a la variable databse le falta el signo $ y la variable $dbhost que usas en el constructor de mysqlli no está declarada previamente.

// Saludos

elmago00 20-05-2014 09:28:55

no esta declarada por que puse el documentos php de manera rápida, y se me paso por lo alto, lo siento.

Código SQL [-]
$dbhost = "localhost";
$database="base";
$user="nombre";
$password="password";
 
// Conectarse a la base de datos
$dbconn = new mysqli($dbhost,$user,$password,$database);



 
  
$NOMBRE = $_GET['NNOMBRE']; 
$PATERNO = $_GET['NAPPPATERNO']; 
$MATERNO = $_GET['NAPPMATERNO']; 
$CORREO = $_GET['NCORREO']; 

 




//Sacar datos del usuario receptor
   

 


$query= "INSERT INTO tbl_users (tx_nombre,tx_ApellidoPaterno,tx_ApellidoMaterno, tx_Correo)
VALUES ($NOMBRE,$PATERNO,$MATERNO,$CORREO)";           

$response = mysql_query($query);  



echo "$response ";






//Cerrrar conexion a la BD
// Desconectarse de la base de datos
$dbconn->close();
?>

el problema es que no inserta nada en la base de datos, lo e intentado de otras dos formas. ahora no tengo el otro documento por eso no lo pongo.

pero el problema es ese no me inserta nada en dicha tabla, pero tampoco me da error alguna ni warning.

duilioisola 20-05-2014 14:37:54

No se mucho de PHP pero parece que estás creando el texto del SQL para después ejecutarlo.

Con esta instrucción:
Código PHP:

$query"INSERT INTO tbl_users (tx_nombre,tx_ApellidoPaterno,tx_ApellidoMaterno, tx_Correo)
VALUES (
$NOMBRE,$PATERNO,$MATERNO,$CORREO)"

el valor de query sería:
Código:

query = 'INSERT INTO tbl_users (tx_nombre,tx_ApellidoPaterno,tx_ApellidoMaterno, tx_Correo)
VALUES (JUAN, PEREZ, GARCIA, juanperezgarcia@gmail.com);

Esto fallaría, dado que tomaría a los datos JUAN, PEREZ, GARCIA y juanperezgarcia@gmail.com como nombres de campos de una tabla.

Deberías entrecomillarlos para que el valor de query quede así:
Código:

query = 'INSERT INTO tbl_users (tx_nombre,tx_ApellidoPaterno,tx_ApellidoMaterno, tx_Correo)
VALUES ('JUAN', 'PEREZ', 'GARCIA', 'juanperezgarcia@gmail.com');

Pueden ser otras cosas, por lo que te recomiendo que enviés a pantalla cada paso que hace el PHP
algo asi:
Código PHP:

$dbhost "localhost";
$database="base";
$user="nombre";
$password="password";
 
// Log - Verificar que los datos sean correctos.
echo "$dbhost";
echo 
"$database";
echo 
"$user";
echo 
"$password";

// Conectarse a la base de datos
$dbconn = new mysqli($dbhost,$user,$password,$database);

// Log - Verificar si la conexión tuvo éxito
if (conexion_exitosathen
   
echo "conexion exitosa";
else
   echo 
"conexion fallida"
  
$NOMBRE $_GET['NNOMBRE']; 
$PATERNO $_GET['NAPPPATERNO']; 
$MATERNO $_GET['NAPPMATERNO']; 
$CORREO $_GET['NCORREO']; 

// Log - Verificar variables
echo "$NOMBRE";
echo 
"$PATERNO";
echo 
"$MATERNO";
echo 
"$CORREO";


//Sacar datos del usuario receptor
  

$query"INSERT INTO tbl_users (tx_nombre,tx_ApellidoPaterno,tx_ApellidoMaterno, tx_Correo)
VALUES (
$NOMBRE,$PATERNO,$MATERNO,$CORREO)";           

// Log - Verificar SQL del query
echo "$query";

$response mysql_query($query);  

echo 
"$response ";

//Cerrrar conexion a la BD
// Desconectarse de la base de datos
$dbconn->close();

// Log - Verificar si la desconexión tuvo éxito
if (desconexion_exitosathen
   
echo "desconexion exitosa";
else
   echo 
"desconexion fallida"

?> 


roman 20-05-2014 21:32:41

Además de lo que atinadamente comenta duilioisola, parece que estás mezclando dos interfaces de acceso a mysql. Si usas la extensión mysqli

Código PHP:

$dbconn = new mysqli($dbhost,$user,$password,$database); 

entonces no puedes usar mysql_query para hacer las consultas. Deberías usar el método mysqli::query:

Código PHP:

$response $dbconn->query($query); 

// Saludos


La franja horaria es GMT +2. Ahora son las 06:58:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi