首页 > 解决方案 > 在 PhpStorm 中使用 PDO_ODBC

问题描述

强调文本我正在做一个项目,主要目标是通过 PHP 获取一个应用程序,该应用程序从 Microsoft Access 数据库中读取,然后显示一些表的一些内容。我正在尝试使用 PDO_ODBC 来获得连接,但我似乎无法让它工作,我不知道如何让它工作。我遵循了一个应该建立连接的示例代码,但它不会。


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

print_r(PDO::getAvailableDrivers());

$connStr =
    'odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};' .
    'Dbq=c:\\Users\\PC\\Desktop\\LabSid\\exemplo1.mdb';


try {
    $dbh = new PDO($connStr);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    echo "NEW:" .$e->getMessage();
}

$sql = "SELECT marca FROM carros" ;

try {
    $sth = $dbh->prepare($sql);
} catch(PDOException $e) {
    echo "PREPARE:" . $e->getMessage();
}

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

try {
    $sth->execute($params);
} catch(PDOException $e) {
    echo "EXECUTE:" .$e->getMessage();
}

try {
    while ($row = $sth->fetch()) {
        echo $row['marca'] . "\r\n";
    }
} catch(PDOException $e) {
    echo "FETCH:" .$e->getMessage();
}
?>

这是调试线

(信息:此脚本以 32 位运行。)

数组 (
[0] => MySQL
[1] => odbc
[2] => pgsql
[3] => sqlite )
NEW:SQLSTATE[IM002] SQLDriverConnect: 0 [Microsoft][Gestor de controladores de ODBC]数据源未找到且未在任何控制器 predefinidoPHP 中指定注意:未定义变量:第 24 行 PHP 中 C:\xampp\htdocs\MyApp\www\index.php 中的 dbh 致命错误:未捕获错误:调用成员函数 prepare( ) 在 C:\xampp\htdocs\MyApp\www\index.php:24 中为 null 堆栈跟踪:

0 {main} 在第 24 行的 C:\xampp\htdocs\MyApp\www\index.php 中抛出

注意:未定义变量:第 24 行 C:\xampp\htdocs\MyApp\www\index.php 中的 dbh 致命错误:未捕获的错误:在 C:\xampp\htdocs\MyApp\ 中的 null 上调用成员函数 prepare() www\index.php:24 堆栈跟踪:

0 {main} 在第 24 行的 C:\xampp\htdocs\MyApp\www\index.php 中抛出 进程以退出代码 255 完成

标签: phpms-accesspdo

解决方案


推荐阅读