
10/04/2007, 23:06
|
| | Fecha de Ingreso: enero-2006
Mensajes: 47
Antigüedad: 19 años, 1 mes Puntos: 0 | |
procedimientos almacenados
Hola que tal
Necesito que alguien me ayude en lo siguiente.
Estoy haciendo una interfaz de abstraccion de acceso a datos utilizando mysqli.Lo que pasa es que quiero hacer una funcion que tu le pases en nombre del procedimiento(o query) y a continuacion en un orden la cantidad de parametros(si lo requiere); para ejecutar dicho procedimiento(o query).
La primera parte de la funcion la tengo echa que es la de coger en nombre del procedimiento(o query) y los parametros si lo requiere.
Pero viene una inconveniencia.
Que como no se de antemano la cantidad de parametros y el tipo de valor de los parametros a la hora de creer la funcion $stmt->bind_param()
o mysqli_stmt_bind_param() no se como llenar esta funcion.
Que puedo hacer
Nota: ya utilice la funcion eval()
Para una idea mire el codigo que sigue; que si funciona pero no es lo que quiero hacer. Como les dije anteriormente lo que quiero hacer es una clase que tu le pases la consulta o el nombre del procedimiento almacenado y ella se encargue de hacerlo todo(como si el desarrollador no supiera nada de mysqli).
espero que me haya esplicado bien.
<?php
$connect = new mysqli(null,"root","marcel","curso");
if($connect){
$connect->autocommit(false);
$stmt = $connect->stmt_init();
$dia = 145;
$ano = 125;
$stmt->prepare("INSERT INTO fecha VALUES(?,?)");
$stmt->bind_param('ii',$dia,$ano);// a qui esta el problema
$stmt->execute();
$error = $stmt->error;
if($error == ""){
$stmt = $connect->stmt_init();
$nombre = "marcel";
$stmt->prepare("INSERT INTO persona VALUES(?)");
$stmt->bind_param('s',$nombre);
$stmt->execute();
$error = $stmt->error;
}
if($error != "") {
echo $error;
$connect->rollback ();
}
else
$connect->commit();
$connect->close();
}
else
echo "Error en la conexion";
?> |