Baixei o adodb há alguns dias e queria usar o adodb para me conectar ao banco de dados de acesso. Mais tarde, consegui me conectar, mas não consegui atualizar ou inserir registros. Não sei por que ninguém respondeu minha pergunta problemática. até agora, desisti do adodb, usando o próprio ODBC do PHP, mas é muito inconveniente de usar, então escrevi as seguintes funções, que não foram encapsuladas em classes, espero que possam ajudar amigos que têm o mesmo problema.
<?php
/*
*@acessar aula
* inserir, atualizar, excluir registro
*versão 1.0
* data 2005.6
* poder de Samsun Manzalo (34n Zhu Bajie)
* www.knowsky.com
*/
//====================================
//inserir registro
//Inserir registro
//====================================
function insRd($tabela,$campo){
$connstr = "DRIVER=Driver Microsoft Access (*.mdb);DBQ=banco de dados/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) ou die ("Erro de conexão com banco de dados!");
$tmpA = explodir(',',$campo);
$ins = '';
for($i=0;$i<count($tmpA);$i++){
$ins.= "'".$_POST[$tmpA[$i]]."',";
}
$ins = substr($ins,0,-1);
$sql = "INSERT INTO ".$table." (".$field.) VALORES (".$ins.")";
//echo $sql;exit;
$consulta = @odbc_do($connid,$sql);
}
//====================================
//obtém um detalhe do registro
//Obtém as informações detalhadas do registro atual
//====================================
function getInfo($tabela,$campo,$id,$colnum){
$connstr = "DRIVER=Driver Microsoft Access (*.mdb);DBQ=banco de dados/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) ou die ("Erro de conexão com banco de dados!");
$sql = "selecione * de ".$table." onde ".$field."=".$id;
$consulta = @odbc_do($connid,$sql);
if(odbc_fetch_row($query)){
for($i=0;$i<$colnum;$i++){
$info[$i] = odbc_result($query,$i+1);
}
}
retornar $informações;
}
//====================================
//obtém lista de registros
// Obtém a lista de registros
//====================================
function getList($tabela,$campo,$colnum,$condição,$sort="ordenar por id desc"){
$connstr = "DRIVER=Driver Microsoft Access (*.mdb);DBQ=banco de dados/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) ou die ("Erro de conexão com banco de dados!");
$sql = "selecione * de ".$table." ".$condição." ".$sort;
$consulta = @odbc_do($connid,$sql);
//echo $sql."<br>";
$i = 0;
enquanto(odbc_fetch_row($query)){
$rdList[$i] = getInfo($tabela,$campo,odbc_result($query,1),$colnum);
$eu++;
}
return $rdList;
}
//====================================
//obtém a condição da lista de registros
// Obtém a lista de registros
//====================================
function getFieldList($tabela,$campo,$camponum,$condição="",$sort=""){
$connstr = "DRIVER=Driver Microsoft Access (*.mdb);DBQ=banco de dados/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) ou die ("Erro de conexão com banco de dados!");
$sql = "selecione ".$campo." de ".$tabela." ".$condição." ".$sort;
$consulta = @odbc_do($connid,$sql);
//echo $sql."<br>";
$i = 0;
enquanto(odbc_fetch_row($query)){
for($j=0;$j<$fieldnum;$j++){
$info[$j] = odbc_result($query,$j+1);
}
$rdList[$i] = $info;
$eu++;
}
return $rdList;
}
//===================================
//atualiza registro
//Atualiza registro
//====================================
function updateInfo($tabela,$campo,$id,$set){
$connstr = "DRIVER=Driver Microsoft Access (*.mdb);DBQ=banco de dados/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) ou die ("Erro de conexão com banco de dados!");
$sql = "atualizar ".$table." set ".$set." onde ".$field."=".$id;
$consulta = @odbc_do($connid,$sql);
}
//====================================
//registro deletado
//Exclui registro
//====================================
function delRd($tabela,$campo,$id){
$connstr = "DRIVER=Driver Microsoft Access (*.mdb);DBQ=banco de dados/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) ou die ("Erro de conexão com banco de dados!");
$sql = "excluir de ".$table." onde ".$field."=".$id;
$consulta = @odbc_do($connid,$sql);
}
//====================================
//registro deletar gato
//Exclui registro (condição)
//====================================
function delOrRd($tabela,$condição){
$connstr = "DRIVER=Driver Microsoft Access (*.mdb);DBQ=banco de dados/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) ou die ("Erro de conexão com banco de dados!");
$sql = "excluir de ".$tabela." onde ".$condição;
$consulta = @odbc_do($connid,$sql);
}
//====================================
//conta registro
// Obtém o número de registros
//====================================
function contagemRd($tabela,$condição=""){
$connstr = "DRIVER=Driver Microsoft Access (*.mdb);DBQ=banco de dados/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) ou die ("Erro de conexão com banco de dados!");
$sql = "selecione contagem(*) como num de ".$tabela." ".$condição;
$consulta = @odbc_do($connid,$sql);
odbc_fetch_row($consulta);
$num = odbc_result($query,1);
retornar $num;
}
?>