Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/08/2014, 06:15
Avatar de Djoaq
Djoaq
 
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 7 meses
Puntos: 38
Respuesta: Problema con sesiones

Hola y bienvenida!

A ver 2 cositas.. el where simplemente es un condicional .

Código MySQL:
Ver original
  1. EJECUTA CODIGO SQL {WHERE} condición1 AND condicion2
condicion1 y condicion2 Solo si son verdaderas Ejecutará el código.


Existen 2 operadores lógicos básicos que le puedes dar al {WHERE}
AND y OR

Código MySQL:
Ver original
  1. CODIGO SQL {WHERE} 1+3=4   AND  3+1=4
devolverá Verdadero porque se cumplen las dos condiciones y se ejecuta el sql

Código MySQL:
Ver original
  1. CODIGO SQL {WHERE} 1+3=4   AND  3+5=4
devolverá Falso porque se cumple 1 de las dos condiciones y no se ejecuta el sql

Es decir con AND siempre se tiene que cumplir todas y cada una delas condiciones que le hayas puesto .

El operador lógico OR se ejecutara si se cumple alguna de las condiciones .

Código MySQL:
Ver original
  1. CODIGO SQL {WHERE} 1+3=4   OR  3+5=4
Se ejecutará porque 3+1 = 4 y por tanto 1 de las 2 condiciones es True .

Dicho esto ,

Código MySQL:
Ver original
  1. mysql_query("INSERT INTO `{v1}` VALUES ('$v1', '$fila[Dispositivos]', 'puertos[Puerto]', '$puertos[Puerto]' , '$puertos[Puerto]', '$nombreDirectorio', now(), '$SI', '$NO', null, 'empresa2[nombre_de_la_empresa]') WHERE nombre_de_la_empresa=".$SESSION['buscar']);

Aquí necesitamos saber como recuperas estos valores porque hay varios errores ..

Código PHP:
Ver original
  1. puertos[Puerto]

debería ser
Código HTML:
Ver original
  1. $puertos[Puerto]
en el caso que tengas una variable puertos , con un array asociativo.

Código MySQL:
Ver original
  1. WHERE nombre_de_la_empresa=".$SESSION['buscar']
;

Yo particularmente no evaluaría así! porque solo se ejecutaría el sql en el caso de que le pasáramos la info por sesiones... ademas el código es bastante vulnerable a inyecciones..

Si quieres insertar en bd datos por lógica no necesitas ninguna condición desde base de datos , pues es tu script quien manipula que se va a insertar ...

Ahora bién , si EXISTEN datos entonces si necesitas un condicional y debes hacer un UPDATE.

Por ejemplo : supongamos que tengas que actualizar la fecha de un cliente cada vez que entra,
y que recibimos el id de cliente por POST
Código MySQL:
Ver original
  1. mysql_query("UPDATE clientes SET  fecha_ultim_vsta='now()' WHERE user_id= '$POST_['id']'")

No se si era lo que necesitabas saber!

Un saludo y Ánimo!