
25/02/2010, 13:16
|
| | Fecha de Ingreso: septiembre-2008
Mensajes: 20
Antigüedad: 16 años, 6 meses Puntos: 0 | |
Respuesta: Usar un valor como variable en una consulta msyql hay una opcion y que me gusta mucho usar con los SP (procedimientos almacenados) ejemplo;
DELIMITER $$
DROP PROCEDURE IF EXISTS `nombre_bd`.`guardar_nombre` $$
CREATE PROCEDURE `nombre_bd`.`guardar_nombre` ()
BEGIN
DECLARE ref VARCHAR(20);
DECLARE tiponombre VARCHAR(20);
SELECT c.tx_ref, c.t_name as typeName
INTO ref, tiponombre
FROM content_tx_t_c c
INNER JOIN content_tx__{typeName} as t
ON c.tx_ref = t.ref
WHERE c.c_id IN (8,22,9,23,24,10,3);
/*a continuacion el insert*/
INSERT INTO nombre_tabla_destino(campo1, campo2)
VALUES (ref, tiponombre);
END $$
DELIMITER ;
y la manera de llamarlos en php:
$sqlquery="CALL guardar_nombre()";
mysql_query($sqlquery);
en ocaciones php te marca un error que dice que no puede ejecutar consultas multiples el truco es que solo en el mysql_connect(); se le agregue un false y 65536. ejemplo
mysql_connect("localhost", "root", "123", false, 65536);
en el procedimiento hay otra forma que es mas practica en vez de poner VALUES y las variables, se le pone SELECT que tu hiciste primero.
espero que sea de ayuda, saludos |