Sólo una puntualización sobre los tipos de dato.
Tanto
como
Código PHP:
Ver original case "integer": case "boolean": $bind_params[0] .= "i"; break;
case "double" : $bind_params[0] .= "d"; break;
case "blob" : $bind_params[0] .= "b"; break;
default : $bind_params[0] .= "s"; break;
}
sugieren que la gestión de los tipos de datos es algo que concierne a la base de datos, cuando en realidad, es un problema que va desde los sistemas de almacenamiento, al código javascript ejecutado en el cliente.
Yo haría lo siguiente:
Código PHP:
Ver original "cliente"=>array("type"=>"STRING","MIN"=>...,"MAX"=>.........), "email"=>array("type"=>"STRING","MIN"=>...,"MAX"=>....,"REGEXP"=>....) ....
);
Mientras no crees modelos, que unan esa metadata con los datos en sí, la secuencia
Código PHP:
Ver original$insert->setType('sss'); // Types: s = string, i = integer ... $insert->setParams($data);
pasa a ser
Código PHP:
Ver original$insert->setParams($data,$metaData);