Bueno muchas gracias a NSD y a Dashtrash por vuestras respuestas.
NSD me ha gustado mucho tu código (DbTable.php) es simple y sencillo de entender, lo pienso adaptar a mi proyecto personal.
Solo una corrección:
En la linea 37:
Código PHP:
$this->exec("INSERT INTO ".$this->_table." (".implode(array_keys($this->props)).") VALUES (?".str_repeat(",?", count($this->props)-1).");", $this->props);
falta separar las palabras del implode " , ":
Código PHP:
...implode(", ", array_keys($this->props))...
Hay una parte del código que no logro acabar de entender bien su función. Se trata del ampersand que se encuentra en el bucle foreach en la variable $param:
Código PHP:
foreach($params as &$param) {
switch(gettype($param)) {
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;
}
$bind_params[] = &$param;
}
Sobre el tema de a quien concierne la gestión de los tipos de datos, desconozco si sería suficiente con realizar validaciones de los datos provenientes de los formularios solo con PHP