Académique Documents
Professionnel Documents
Culture Documents
Observação
Criar uma camada da aplicação para abstração de SQL é extremamente
complexo. Várias variáveis devem ser levadas em conta e, possivelmente, é
preciso abrir mão de muitos recuros específicos. Portanto, existem duas
linhas de desenvolvimento: uma defende a utilização de um único tipo de
SGBD por aplicação, para que os recursos específicos sejam utilizados ao
máximo e de forma otimizada, enquanto outra defende a generalização e o
suporte a diferentes bases de dados, tornando o sistema mais portável.
Tudo depende do objetivo da aplicação.
// MySQL
$c = mysql_connect('host', 'usuario', 'senha');
mysql_select_db('bd', $c);
mysql_set_charset('UTF8', $c);
// PostgreSQL
$c = pg_connect('host=host port=5432 dbname=bd user=usuario
password=senha');
pg_set_client_encoding($c, 'UNICODE');
Utilizar PDO tende a ser mais simples do que utilizar biblioteca de funções,
mas continua exigindo conhecimento da sintaxe SQL específica do modelo
de SGBD envolvido. Embora muitos programadores ainda utilizam as
funções de conexão, existe a promessa de que PDO será o padrão de
conexão em PHP 6, enquanto as bibliotecas de funções passarão a ser
extensões PECL, precisando ser instaladas a parte.
Como utilizar PDO?
try {
$pdo = new PDO($dsn, $usuario, $senha, $opcoes);
} catch (PDOException $e) {
echo 'Erro: '.$e->getMessage();
}
Após abrir uma conexão, as consultas podem ser feitas de duas maneiras:
1 - Através da própria conexão, com o método "exec" ou o "query";
2 - Montando uma prepared statement com o método "prepare", que
devolve um objeto da classe PDOStatement, e depois executando o método
"execute" (desta classe).
// Usando "exec"
$inseriu = $pdo->exec('INSERT INTO logs (operacao) VALUES (1)');
$ultimo_id = $pdo->lastInsertId();
// Usando "query"
$stmt = $pdo->query('SELECT nome, login FROM usuarios');
// Fazendo o binding
$nome = 'Rubens';
$login = 'rubens';
$stmt->bindParam(':nome', $nome, PDO::PARAM_STR, 128);
$stmt->bindParam(':login', $login, PDO::PARAM_STR, 20);
Outros benefícios
Conclusão
Porém, deve-se atentar ao futuro de PHP, que está caminhando cada vez
mais para o paradigma orientado a objetos. Neste futuro, que já é presente,
está inserido o PDO.
http://digitalbush.com/projects/masked-input-plugin/
http://www.leonardonobre.com.br/?cat=10
http://www.adaptinsite.com/blog/css-dinamico-inserindo-php-no-css