Foros del Web » Programando para Internet » PHP »

insertar valores de variablen en tabla mysql

Estas en el tema de insertar valores de variablen en tabla mysql en el foro de PHP en Foros del Web. Saludos foreros. Tengo el siguiente problema: Necesito almacenar 3 datos en una tabla, los datos son los siguientes: USUARIO,DIRECCION IP, HORA. He creado su tabla ...
  #1 (permalink)  
Antiguo 23/01/2005, 09:53
 
Fecha de Ingreso: abril-2004
Ubicación: España
Mensajes: 53
Antigüedad: 13 años, 7 meses
Puntos: 0
insertar valores de variablen en tabla mysql

Saludos foreros.

Tengo el siguiente problema:
Necesito almacenar 3 datos en una tabla, los datos son los siguientes: USUARIO,DIRECCION IP, HORA.
He creado su tabla y campos correspondientes en la BD pero no consigo que inserte los datos.
Este es el código:

if($affected_rows == 1) {
Header ("Location: index.php");
$_SESSION['username'] = $user_name;
$ip = $_server['REMOTE_ADDR'];
mysql_query ("insert into entradas_users (usuario,direccion IP,hora) values ('$user_name','$ip',NOW()");
}
else {
Header ("Location: login_error.php");

Este código se encarga de validar la entrada de un usuario a una zona protegida y cuando se permite el acceso, debe guardarse algunos datos del usuario como usuario,IP y hora entrada.

¿Podeis ayudarme? Os estaré muy agradecido
  #2 (permalink)  
Antiguo 23/01/2005, 10:55
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 14 años, 3 meses
Puntos: 4
Has comprobado que entra dentro del IF ?

La funcion mysql_query recibe 2 parametros, la sentencia que quieres que ejecute y la variable que obtuviste de la conexion a la base de datos, en tu codifo te falta este 2º parametro.

Luego veo que uno de tus campos es "direccion IP", y no estoy seguro que se puedan dejar espacios en blanco para nombres de campo.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #3 (permalink)  
Antiguo 23/01/2005, 15:23
 
Fecha de Ingreso: abril-2004
Ubicación: España
Mensajes: 53
Antigüedad: 13 años, 7 meses
Puntos: 0
insertar valores de variables en tabla mysql

Gracias por contestar a mi post.

Este es el código completo:
<?php
session_start();
$db_user = 'user';
$db_pass = '123456';
$user_name = $_POST['user_name'];
$password = $_POST['password'];

//connect to the DB and select the "users" database
$connection = mysql_connect('localhost', $db_user, $db_pass) or die(mysql_error());
mysql_select_db('mi_bd', $connection) or die(mysql_error());


//set up the query
$query = "SELECT * FROM users
WHERE user_name='$user_name' AND password='$password'";

//run the query and get the number of affected rows
$result = mysql_query($query, $connection) or die('error making query');
$affected_rows = mysql_num_rows($result);

//if there's exactly one result, the user is validated. Otherwise, he's invalid

if($affected_rows == 1) {
$ip = $_server['REMOTE_ADDR'];
mysql_query("insert into 'entradas_users' (usuario,direccion_IP,hora) values ('$user_name','$ip',NOW()");
Header ("Location: index.php");
$_SESSION['username'] = $user_name;
}
else {
Header ("Location: login_error.php");
}
?>

he revisado el código pero no consigo que funcione aún con las indicaciones que tan amablemente me has dado...
  #4 (permalink)  
Antiguo 23/01/2005, 15:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Te faltò un parèntesis .. de todas formas .. con la funciòn mysql_error() si la usas como el ejemplo .. detectaras ese tipo de errores sobre sintax SQL o conexiòn a tu BD màs fácilmente:

Código PHP:
mysql_query ("insert into entradas_users (usuario,direccion_IP,hora) values ('$user_name','$ip',NOW())") or die (mysql_error()); 
Y ojo también .. el nombre de las tablas y campos NO van entre comillas ' simples ' .. a lo sumo entre ´nombre_campo´ (o tabla) por si usas espacios o palabras reservadas como nombres de campos o tablas.

Un saludo,

Última edición por Cluster; 23/01/2005 a las 15:33
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 21:49.