我目前面临着使用Microsoft Access作为主数据库而不是mysql开发网站的新挑战。我之前没有使用MS Access,我想了解如何解决这个问题,我已经在W3schools查找了w3c网站,但代码错误
警告:odbc_connect()[function.odbc-connect]:SQL错误:[Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序,C:\ Users \ NNALI中SQLConnect中的SQL状态IM002第2行上的\ Desktop \ 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);
?>
以上是我使用的代码
答案 0 :(得分: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";
}
答案 1 :(得分:4)
问题是一个简单的错字。你在第2行命名变量'conc',然后在第4行引用'conn'。
答案 2 :(得分:3)
<?php
$dbName = $_SERVER["DOCUMENT_ROOT"] . "products\products.mdb";
if (!file_exists($dbName)) {
die("Could not find database file.");
}
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbName; Uid=; Pwd=;");
成功连接将允许从PHP执行SQL命令以读取或写入数据库。但是,如果您收到错误消息“PDOException无法找到驱动程序”,则可能是未安装PDO ODBC驱动程序。使用phpinfo()函数检查安装是否有对PDO的引用。
如果没有PDO ODBC条目,则需要确保您的安装包含PDO扩展和ODBC驱动程序。要在Windows上执行此操作,请取消注释php.ini中的行extension = php_pdo_odbc.dll,重新启动Apache,然后再次尝试连接到数据库。
安装驱动程序后,phpinfo()的输出应包含以下信息:https://www.diigo.com/item/image/5kc39/hdse
答案 3 :(得分:2)
您确定odbc连接器是否创建良好? 如果没有再次检查“创建ODBC连接”步骤
编辑:没有DSN的连接 php.net
// Microsoft Access
$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $user, $password);
在您的情况下,如果您的文件名是northwind并且您的文件扩展名为mdb:
$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=northwind", "", "");
答案 4 :(得分:1)
答案 5 :(得分:0)
如果您在XAMPP环境中无法正常使用连接,建议不要在php.ini
文件中注释以下条目。
extension = odbc
我收到一个没有它的错误:Uncaught pdoexception: could not find driver