Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] execute() posterior a prepare() no funciona

Estas en el tema de execute() posterior a prepare() no funciona en el foro de PHP en Foros del Web. Hola de nuevo... Tengo este código que, después de verificar que el email y la contraseña de login son válidos, me envía la IP ($ip) ...
  #1 (permalink)  
Antiguo 21/03/2015, 13:53
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Busqueda execute() posterior a prepare() no funciona

Hola de nuevo...

Tengo este código que, después de verificar que el email y la contraseña de login son válidos, me envía la IP ($ip) de la conexión actual a "ip_ultima".

Código PHP:
Ver original
  1. $stm = $connection->prepare("INSERT INTO usuarios (ip_ultima) WHERE email='$email' VALUES ('$ip')");
  2. $stm->execute();

El problema es que me aparece este error:

Código PHP:
Ver original
  1. Fatal error: Call to a member function execute() on a non-object in [ruta y línea]

Se que el error está en prepare(...), pero no lo localizo. Aún me falta práctica
  #2 (permalink)  
Antiguo 21/03/2015, 15:57
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: execute() posterior a prepare() no funciona

¿Alguna ayuda...?
  #3 (permalink)  
Antiguo 21/03/2015, 17:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: execute() posterior a prepare() no funciona

El error se da porque sencillamente la consulta de SQL que intentas preparar tiene errores.

Pues la instrucción INSERT de SQL no tiene WHERE para empezar.

¿Por qué no aprendes SQL primero?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 21/03/2015, 17:23
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: execute() posterior a prepare() no funciona

Cita:
Iniciado por pateketrueke Ver Mensaje
El error se da porque sencillamente la consulta de SQL que intentas preparar tiene errores.

Pues la instrucción INSERT de SQL no tiene WHERE para empezar.

¿Por qué no aprendes SQL primero?
Tú siempre tan amable y con tantas ganas de ayudar...
  #5 (permalink)  
Antiguo 21/03/2015, 17:46
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: execute() posterior a prepare() no funciona

SOLUCIONADO con un Update.

En lugar de:

Código PHP:
Ver original
  1. $stm = $connection->prepare("INSERT INTO usuarios (ip_ultima) WHERE email='$email' VALUES ('$ip')");

debe ser:

Código PHP:
Ver original
  1. $stm = $connection->prepare("UPDATE usuarios SET ip_ultima='$ip' WHERE email='$email' ");


Etiquetas: execute, usuarios
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 15:27.