pedroac
Membro
Olá, este é o meu primeiro "post".
Estou a implementar uma classe em PHP, para "Data Manipulation Language" (SQL, em geral) e "Data Access Language". Preciso de uma função que converta uma string, com a parte WHERE de um pedido SQL standard, para uma implementação SQL definida. Por exemplo, o MySQL não reconhece o operador "||" como concatenação, por isso deve ser convertido para a função CONCAT.
Pensei fazer uma máquina de estados (é o que faria em C/C++), mas acho que não teria boa performance em PHP (precisava de reservar espaço numa "string buffer")...
Exemplo de um método da classe (com o comentário TODO):
Alguém tem alguma sugestão?
Abraços.
Estou a implementar uma classe em PHP, para "Data Manipulation Language" (SQL, em geral) e "Data Access Language". Preciso de uma função que converta uma string, com a parte WHERE de um pedido SQL standard, para uma implementação SQL definida. Por exemplo, o MySQL não reconhece o operador "||" como concatenação, por isso deve ser convertido para a função CONCAT.
Pensei fazer uma máquina de estados (é o que faria em C/C++), mas acho que não teria boa performance em PHP (precisava de reservar espaço numa "string buffer")...
Exemplo de um método da classe (com o comentário TODO):
PHP:
function update($tablename, array $fields_new, $where, array $wherefields = NULL) {
// build arrays
$set_array = array();
foreach($fields as $col => $value) {
array_push($set_array, $col . '=' . $this->quote($value));
}
// TODO: convert where
// build query and send it
$query = 'UPDATE ' . $tablename .
' SET ' . implode(', ', $set_array) .
'WHERE ' . $where;
return $this->query($query, $wherefields);
}
Alguém tem alguma sugestão?
Abraços.