A simple PHP class operation Access

/*

FileName:cls_access.php

Summary: Access database operations

*************************************

Use examples:

========================

$databasepath='D:/wwwroot/cef/www/class/testdb.mdb';

// or $ databasepath = 'testdb.mdb';

$dbusername='';

$dbpassword='';

require_once('cls_access.php');

$access=new Access($databasepath,$dbusername,$dbpassword);

print_r($access->getlist("SELECT TOP 5 * FROM `Result` WHERE `ResultNo` < 12 ORDER BY `ResultNo` DESC"));

echo $access->num_rows("update `conner` set `connerip` = '222.35.142.101' where `connerno` < 83");

========================

*/

 

class Access{

    var $databasepath,$constr,$dbusername,$dbpassword,$link;

    function Access($databasepath,$dbusername,$dbpassword){

        $this->databasepath=$databasepath;

        $this->username=$dbusername;

        $this->password=$dbpassword;

        $this->connect();

    }

function connect(){

    $this->constr='DRIVER={Microsoft Access Driver (*.mdb)};DBQ='.realpath($this->databasepath).';';

    $this->link=odbc_connect($this->constr,$this->username,$this->password,SQL_CUR_USE_ODBC);

    (! $ This-> link) if echo "database connection failed!";

    return $this->link;

}

 

function query ($ sql) {// run directly SQL, it can be used to update, delete data

    return @odbc_exec($this->link,$sql);

}

 

function fetch_array ($ query) {// record acquired at the current pointer

    return odbc_fetch_array($query);

}

 

function fetch_row ($ query) {// basically the same fetch_array (), but only a numeric index

    return odbc_fetch_row($query);

}

 

function num_rows ($ sql) {// SQL query returns the number of rows affected

    return odbc_num_rows($this->query($sql));

}

 

function close () {// close the connection function

    odbc_close($this->link);

}

 

function getlist ($ sql) {// get list of records

    $query=$this->query($sql);

    $recordlist=array();

    while ($row=$this->fetch_array($query)){

        $recordlist[]=$row;

    }

    return $recordlist;

}

}

This class is ODBC, do not want to use the Internet, said the ODBC data source. I direct a new * .mdb file you can use.

 

Then attach some common COM manner Access Code:

$db = $_SERVER['DOCUMENT_ROOT'].'/zhuanti/ugdkfjlsg54356k6546jk654gfslkg6544s.mdb';

$conn = new COM('ADODB.Connection') or die('can not start Active X Data Objects');

$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");

JS calling page js.php

include_once('conn.php');

$rs = $conn->Execute("SELECT TOP 3 * FROM userstar where chk = 1 ORDER BY id DESC");

$idgb=1;

while(!$rs->EOF){

    $gbinf[$idgb]['id'] = $rs->Fields['id']->Value;

    $gbinf[$idgb]['usname'] = $rs->Fields['usname']->Value;

    $gbinf[$idgb]['usage'] = $rs->Fields['usage']->Value;

    $gbinf[$idgb]['usprovince'] = $rs->Fields['usprovince']->Value;

    $gbinf[$idgb]['usfile'] = $rs->Fields['usfile']->Value;

    $gbinf[$idgb]['thumb'] = $rs->Fields['thumb']->Value;

    $gbinf[$idgb]['usmessage'] = $rs->Fields['usmessage']->Value;

    $rs->MoveNext();

    $idgb++;

}

$rs->Close();

$rs = null;

$uhtml='';

$uhtml.='<table border="0" align="center"><tr>';

for ($i=1; $i<4; $i++){

    $uhtml.='<td width="240" align="center">';

    if ($gbinf[$i]['usfile']){

        $uhtml.='<a href="/index.php" target="_blank" title="'.$gbinf[$i]['usname'].'"><img src="/'.$gbinf[$i]['thumb'].'" /></a><br />'.$gbinf[$i]['usprovince'].'&nbsp;'.$gbinf[$i]['usname'];

        if ($gbinf[$i]['usage'] != 0){

            $uhtml.='&nbsp;('.$gbinf[$i]['usage'].'岁)<br />';

        }

       $uhtml.='<div ><a href="/index.php" target="_blank" title="'.$gbinf[$i]['usmessage'].'" >'.$gbinf[$i]['usmessage'].'</a></div>';

    }

    $uhtml.='</td>';

}

$uhtml.='</tr></table>';

echo "document.write('".$uhtml."')";

 

And a piece of code example, the database to determine the path to this file path:

/*

===========================

Database connection configuration

*/

$db = getcwd().'\images\90d\90dicr_os6546oftff_ic543e_cces_4535s.mdb';

$conn = new COM('ADODB.Connection') or die('can not start Active X Data Objects');

$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");

/*

===========================

*/

//print_r($_POST);

if ($_POST['name'] && $_POST['tel'] && $_POST['addr'] && $_POST['email'] && $_POST['goal'] && $_POST['high'] && $_POST['weight'] && $_POST['message'])

{

$addsql = "INSERT INTO d90usr (`name`, `tel`, `addr`, `email`, `goal`, `high`, `weight`, `message`) VALUES ('".$_POST['name']."', '".$_POST['tel']."', '".$_POST['addr']."', '".$_POST['email']."', '".$_POST['goal']."', '".$_POST['high']."', '".$_POST['weight']."', '".strip_tags($_POST['message'])."')";

//echo '<hr />'.$addsql;

$rsadd = $conn->Execute($addsql);

echo '<script type = "text / javascript"> alert ( "successful registration, please wait for the staff to contact you!"); </ script>';

echo '<p align = "center"> <h1> Congratulations on your successful registration, please wait for the staff to contact you! </ H1> </ p> ';

echo '<p align = "center"> <a href="90d.php"> return to the active home </a> & nbsp; & nbsp; <a href="/"> returns home store </a> </ p> ';

}

 

Guess you like

Origin www.cnblogs.com/yuanscn/p/11184833.html