I installed WAMP, I have access database file in project folder, but don't have installed Access on my compu开发者_StackOverflow社区ter.
Can I read and update Access file with PHP even I don't have installed Access?
And what will be connection string to Access database file?
I really need help with this.
All you need is the PHP api for ODBC. Here is the example from the docs itself:
<?php
// Microsoft SQL Server using the SQL Native Client 10.0 ODBC Driver - allows connection to SQL 7, 2000, 2005 and 2008
$connection = odbc_connect("Driver={SQL Server Native Client 10.0};Server=$server;Database=$database;", $user, $password);
// Microsoft Access
$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $user, $password);
// Microsoft Excel
$excelFile = realpath('C:/ExcelData.xls');
$excelDir = dirname($excelFile);
$connection = odbc_connect("Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=$excelFile;DefaultDir=$excelDir" , '', '');
?>
// Microsoft Access
- Open the Administrative Tools icon in your Control Panel.
- Double-click on the Data Sources (ODBC) icon inside.
- Choose the System DSN tab.
- Click on Add in the System DSN tab.
- Select the Microsoft Access Driver.
- Click Finish.
- In the next screen, click Select to locate the database.
- Give the database a Data Source Name (DSN).
Click OK.
$dsn='database.accdb'; $username=''; $password=''; $connect=odbc_connect($dsn, $username, $password);
I'v found this link with a tutorial on how to do it. Be careful that things work differently in windows and UNIX environment, but since you are using a WAMP you should have no problems
<?php
$db = $_SERVER["DOCUMENT_ROOT"] ."/AccessDatabase/reg.accdb"; //AccessDatabase is folder in htdocs where the database is store
if (!file_exists($db))
{
die("No database file.");
}
$dbNew = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=$db; Uid=; Pwd=;");
$sql = "select * from reg"; //reg is table name
$rs = $dbNew->query($sql);
while($result = $rs->fetch())
{
echo $result[0].": ".$result[1].": ".$result[2]."<br />";
}
?>
If u got error like pdo ODBC Drivers not installed just go to php.ini and find extension = pdo_ODBC Driver and remove the comment(;) after that restart the apache
精彩评论