Como te han dicho PHP con access es por ODBC.
Un Ejemplo del Libro:
Creacion de Sitios Web con PHP4
McGraw Hill
De Gil, Tejedor, Yague, Alonso, Gutiérrez
Código PHP:
<!-- Cap11/recorridocursor.php -->
<HTML>
<HEAD><TITLE>Prueba PHP con ODBC sobre Access</TITLE></HEAD>
<BODY>
<CENTER>
<FONT COLOR='blue'><H1> Tabla de Consulta de Datos</H1></FONT>
<HR><BR><BR>
<TABLE BORDER=1 WIDTH=90%>
<TR><TD ALIGN='center'><FONT COLOR='blue'>Código</FONT></TD>
<TD ALIGN='center'><FONT COLOR='blue'>Nombre</FONT></TD>
<TD ALIGN='center'><FONT COLOR='blue'>Categoría</FONT></TD>
<TD ALIGN='center'><FONT COLOR='blue'>Sueldo</FONT></TD>
<TD ALIGN='center'><FONT COLOR='blue'>Departamento</FONT></TD>
</TR>
<?php
// Se establece la conexión con la fuente de datos
$conex = odbc_connect("bdejemplo", "lector", "librophp");
$consulta = "SELECT * FROM Empleados;";
$resultado = odbc_do($conex, $consulta);
$Num_Campos = odbc_num_fields($resultado);
$Num_Filas = 0;
// Se recorre el cursor
while (odbc_fetch_row($resultado))
{
$Num_Filas++;
echo "<TR>";
for ($i = 1; $i <= $Num_Campos; $i++)
{
echo "<TD ALIGN='center'>";
if (odbc_result($resultado, $i))
echo odbc_result($resultado, $i);
echo "</TD>";
} //de los campos de una tupla: el for
echo "</TR>";echo "\n";
} // de todas las tuplas respuesta: el while
// Si noy hay datos se indica
if ($Num_Filas == 0)
{
echo "<TR><TD COLSPAN=9><CENTER>";
echo "No hay empleados";
echo "</CENTER></TD></TR>\n";
}
echo "</TABLE>\n";
echo "<BR><HR><BR>\n";
echo "<B>Número de filas: $Num_Filas<BR>\n";
echo "Número de campos: $Num_Campos</B>\n" ;
echo "</CENTER>";
//Se liberan recursos y se cierra la conexión
odbc_free_result($resultado);
odbc_close($conex);
?>
</BODY>
</HTML>
Saludos.