1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

PHP: conversão de pedidos SQL

Discussão em 'Web Development' iniciada por pedroac, 16 de Janeiro de 2007. (Respostas: 0; Visualizações: 541)

  1. Olá, este é o meu primeiro "post". :hello:

    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.
     

Partilhar esta Página