如何将PHP与Microsoft Access数据库连接

11 php ms-access odbc

我目前面临着使用Microsoft Access作为主数据库而不是mysql开发网站的新挑战.我之前没有使用MS Access,我想指导如何去做,我已经在W3schools上查找了w3c网站,但是代码给出了错误

警告:odbc_connect()[function.odbc-connect]:SQL错误:[Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序,C:\ Users\NNALI\Desktop \中SQLConnect中的SQL状态IM002第2行的root\test.php

而这个错误

警告:odbc_exec()期望参数1为资源,布尔值在第4行的C:\ Users\NNALI\Desktop\Breweries\root\test.php中给出

我被困住了,不知道该怎么做,我将非常感谢你们的帮助.

<?php
    $conc = odbc_connect("northwind", "","");
    $sql  = "Select * From customers";
    $rs   = odbc_exec($conn, $sql);
?>
Run Code Online (Sandbox Code Playgroud)

以上是我使用的代码

Gor*_*son 9

如果您刚刚开始使用新项目,那么我建议您使用PDO而不是旧odbc_exec()方法.这是一个简单的例子:

<?php
$bits = 8 * PHP_INT_SIZE;
echo "(Info: This script is running as $bits-bit.)\r\n\r\n";

$connStr = 
        'odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};' .
        'Dbq=C:\\Users\\Gord\\Desktop\\foo.accdb;';

$dbh = new PDO($connStr);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$sql = 
        "SELECT AgentName FROM Agents " .
        "WHERE ID < ? AND AgentName <> ?";
$sth = $dbh->prepare($sql);

// query parameter value(s)
$params = array(
        5,
        'Homer'
        );

$sth->execute($params);

while ($row = $sth->fetch()) {
    echo $row['AgentName'] . "\r\n";
}
Run Code Online (Sandbox Code Playgroud)


小智 5

问题是一个简单的错字。您在第 2 行将变量命名为“conc”,然后在第 4 行引用了“conn”。


MSR*_*974 2

您确定 odbc 连接器已正确创建吗?如果没有,请再次检查“创建 ODBC 连接”步骤

编辑:没有来自php.net的 DSN 的连接

// 微软访问

$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $user, $password);
Run Code Online (Sandbox Code Playgroud)

在您的情况下,如果您的文件名是 Northwind 并且文件扩展名是 mdb:

$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=northwind", "", "");
Run Code Online (Sandbox Code Playgroud)