Ich habe adodb vor ein paar Tagen heruntergeladen und wollte mit adodb eine Verbindung zur Access-Datenbank herstellen, aber ich konnte keine Datensätze aktualisieren oder einfügen. Ich weiß nicht, warum niemand meine problematische Frage beantwortet hat Bisher habe ich aufgegeben, PHPs eigenes ODBC zu verwenden, aber es ist sehr unpraktisch, also habe ich die folgenden Funktionen geschrieben, die nicht in Klassen gekapselt wurden. Ich hoffe, dass sie Freunden helfen können, die das gleiche Problem haben
<?php
/*
*@access-Klasse
* Datensatz einfügen, aktualisieren, löschen
* Version 1.0
* Datum 2005.6
* Leistung von Samsun Manzalo (34n Zhu Bajie)
* www.knowsky.com
*/
//===================================
// Datensatz einfügen
//Datensatz einfügen
//===================================
Funktion insRd($table,$field){
$connstr = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=database/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("Datenbankverbindungsfehler!");
$tmpA = explosion(',',$field);
$ins = '';
for($i=0;$i<count($tmpA);$i++){
$ins.= "'".$_POST[$tmpA[$i]]."',";
}
$ins = substr($ins,0,-1);
$sql = "INSERT INTO ".$table." (".$field.") VALUES (".$ins.")";
//echo $sql;exit;
$query = @odbc_do($connid,$sql);
}
//===================================
//ein Datensatzdetail abrufen
// Detaillierte Informationen zum aktuellen Datensatz abrufen
//===================================
Funktion getInfo($table,$field,$id,$colnum){
$connstr = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=database/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("Datenbankverbindungsfehler!");
$sql = „select * from „.$table.“ where „.$field.“=".$id;
$query = @odbc_do($connid,$sql);
if(odbc_fetch_row($query)){
for($i=0;$i<$colnum;$i++){
$info[$i] = odbc_result($query,$i+1);
}
}
$info zurückgeben;
}
//===================================
//Datensatzliste abrufen
// Holen Sie sich die Datensatzliste
//===================================
function getList($table,$field,$colnum,$condition,$sort="order by id desc"){
$connstr = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=database/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("Datenbankverbindungsfehler!");
$sql = „select * from „.$table.“ „.$condition.“ „.$sort;
$query = @odbc_do($connid,$sql);
//echo $sql."<br>";
$i = 0;
while(odbc_fetch_row($query)){
$rdList[$i] = getInfo($table,$field,odbc_result($query,1),$colnum);
$i++;
}
return $rdList;
}
//===================================
//Datensatzlistenbedingung abrufen
// Holen Sie sich die Datensatzliste
//===================================
Funktion getFieldList($table,$field,$fieldnum,$condition="",$sort=""){
$connstr = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=database/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("Datenbankverbindungsfehler!");
$sql = "select „.$field.“ aus „.$table.“ „.$condition.“ „.$sort;
$query = @odbc_do($connid,$sql);
//echo $sql."<br>";
$i = 0;
while(odbc_fetch_row($query)){
for($j=0;$j<$fieldnum;$j++){
$info[$j] = odbc_result($query,$j+1);
}
$rdList[$i] = $info;
$i++;
}
return $rdList;
}
//===================================
//Datensatz aktualisieren
//Datensatz aktualisieren
//===================================
Funktion updateInfo($table,$field,$id,$set){
$connstr = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=database/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("Datenbankverbindungsfehler!");
$sql = „update „.$table.“ set „.$set.“ where „.$field.“=".$id;
$query = @odbc_do($connid,$sql);
}
//===================================
// Datensatz löschen
// Datensatz löschen
//===================================
Funktion delRd($table,$field,$id){
$connstr = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=database/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("Datenbankverbindungsfehler!");
$sql = „löschen aus „.$table.“ where „.$field.“=".$id;
$query = @odbc_do($connid,$sql);
}
//===================================
// aufzeichnen, löschen, Katze
// Datensatz löschen (Bedingung)
//===================================
Funktion delOrRd($table,$condition){
$connstr = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=database/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("Datenbankverbindungsfehler!");
$sql = „löschen aus „.$table.“ where „.$condition;
$query = @odbc_do($connid,$sql);
}
//===================================
//Datensatz zählen
// Anzahl der Datensätze abrufen
//===================================
Funktion countRd($table,$condition=""){
$connstr = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=database/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("Datenbankverbindungsfehler!");
$sql = „select count(*) as num from „.$table.“ „.$condition;
$query = @odbc_do($connid,$sql);
odbc_fetch_row($query);
$num = odbc_result($query,1);
return $num;
}
?>