Ver Mensaje Individual
  #11 (permalink)  
Antiguo 13/07/2011, 18:14
Sofmundi
 
Fecha de Ingreso: enero-2010
Mensajes: 302
Antigüedad: 14 años, 3 meses
Puntos: 3
Respuesta: Como crear triggers

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Te aclaro los detalles:

1) Yo sólo te estoy diciendo cómo se crea una variable de usuario en MySQL, no qué quieres cargar en ella. Eso es tu decisión. Si quieres poner una letra, una cadena, un número, para el caso es igual y dependerá de lo que necesites poner en esa variable.

2) Las variables de usuario no se declaran, se inicializan. Se pueden usar sin inicializar, pero entonces su valor es NULL, por eso se debe asignar un valor antes de usarlas, aunque más no sea para definir el tipo de datos que manejarán. Sólo se declaran las variables locales de los stored procedures, functions y triggers, pero esas no llevan "@" y no se pueden usar fuera de esas rutinas.

3) Si vas a usar el valor, como en cualquier lenguaje, debes cargar la variable antes, de lo contrario el valor no existirá. En dónde lo pongas en tu script PHP dependerá de tí. Yo te sugerí dos opciones prácticas, el resto dependerá de la lógica de tu programación. Por eso mi sugerencia es hacerlo después de abrir la conexión.

4) Ten en cuenta que las variables de usuario dependen del subproceso de conexión, mueren al cerrarse la misma. Mientras tanto conservan el valor que se les asigne la última vez (esto permite hacer consultas con un grado de dinamismo notable).


5) SET, dentro de otras sentencias es cláusula, fuera de toda sentencia es sentencia porque los contextos son distintos, y como tal se usa en los scripts de PHP: como otra sentencia más de SQL, pero sólo para las variables de usuario.

Si quieres ver algunos usos de las variables de usuario, lee las FAQs de MySQL:
¿Cómo numerar secuencialmente una consulta, sin usar PK?
Mira tengo este codigo

Código PHP:
$usuario=$loginUsername// SI esto no existiera ?
Podria declarar
SET $usuario
:"$loginUsername"// claro que ese $ del usuario no puede ir segun lo que lei
$hora=date('H:i:s');
$fecha=date('Y/m/d');
$insertsesion sprintf("INSERT INTO sesiones (usuario, horaentrada, fechaentrada) VALUES (%s, %s, %s)",
                       
GetSQLValueString($usuario"text"),
                       
GetSQLValueString($hora"time"),
                       
GetSQLValueString($fecha"date")); 
en este caso el usuario se esta guardando bien, pero si no lo tuviera declarado con el $usuario como lo podria declara en ese "SET" para que lo guardara dentro de la consulta asi la consulta estaria bien ?