* Classe que conecta a um
* banco de dados relacional
* @author Marcelo Soares da Costa
* @email phpmafia at yahoo dot com dot br
* @copyright Marcelo Soares da Costa © 2006.
* @license FreeBSD
* @version 1,0
* @package phpmafiasql
* @data 2006-10-18
O pacote phpMafiaSQL é composto de duas classe básicas obrigatórias e uma classe opcional,
a classe phpMafiaRelDB é uma classe privada que faz uma abstração simples do banco de dados,
e a classe phpMafiaSQL é a classe que deve ser instanciada para acesso ao bancoi de dados e a
classe opcional phpMafiaSql2Xml que permite montar um xml, formatado ou não, a partir de uma
Query.
phpMafiaRelDB -> Seta a conexão com o banco de dados em seu construtor e verifica qual o método
deve ser utilizado em função do banco de dados escolhido, seu escopo é fundamentalmente privado.
A configuração padrão da classe é setada pelos valores das constantes:
define("RELDB", "MYSQL");
define("DATABASE", "bdteste");
define("HOST", "localhost");
define("USER", "root");
define("PASSWORD", "");
O construtor da classe permite que seja alterado qualquer um desses valores.
phpMafiaSQL -> Prove os recursos para manipulação do banco de dados.
metodo de uso :
Declarar o arquivo da classe:
include_once ("class_mafiasql.php");
Construir o objeto de conexão
$Objeto=new phpmafiasql();
Opcionalmente pode alterar os valores definidos nas constantes
$Objeto=new phpmafiasql(array("host"=>"localhost","database"=>"bancodedados",etc ....));
A prática demostra que em 90% do uso de classes de banco de dados se faz passando um select
para obter um array de resultados, para automatizar essa utilização foi criado um metodo.
foreach ($Objeto->sql2assocarray("SELECT * FROM tablename") as $dataline)
{
id = $dataline["id"];
....
}
ou para sua verificação
var_dump($Objeto->sql2assocarray("SELECT * FROM tablename"));
Metodos tradicionais:
$Objeto=new phpmafiasql();
$Objeto->setsql($SQL);
retorna numero de resultados retornados se for select
retorna o numero de resultados afetados se for update ou delete
retorna o ultimo indice, last id, se for insert
exige que para querys de update e delete a clausula "WHERE"
para retornar os valores de um select pode-se usar:
$Objeto->getassocarray(); // para retornar um array associativo do banco de dados
$Objeto->getarray(); // para retornar um array numérico do banco de dados
$Objeto->getrow(0); // para retornar um unico campo de um banco de dados
phpMafiaSql2Xml-> retorna um xml simples ou formatado
metodos de uso :
include_once ("class_mafiasql2xml.php");
$Objeto=new phpmafiasql2xml();
metodos opcionais
$Objeto->simplexml($SQL); // monta um simples xml <root><row id="2" ... /></root>
$Objeto->simpledomxml("root","row",$SQL); // monta um simples domxml <root><row><dataname>datavalue</dataname></row></root>
$srtingxml=$Objeto->xml2string(); // coloca todo o xml em uma string
$Objeto->printxmlarray();// imprime o xml sem formatação
$Objeto->xsltstyle('defaultDataGrid.xsl'); // imprime um xml formatado por teste.xsl
$Objeto->xml4xls("http://localhost/testexml.php","defaultDataGrid.xsl"); // imprime um xml local processsado ou remoto especifico com a formatação do xsl
Nota : Essa função permite que um xml local seja lido após ser processado pelo servidor, evitando a leitura direta do arquivo sem ser processado,
o xsl tambem pode ser uma arquivo remoto, mas se for dinamico como .php, tem que ser chamado após ser processado também, http://xsl_url....
Esse pacote é distribuido sobre licensa freebsd
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
http://www.freebsd.org/copyright/freebsd-license.html
|