PHP 无法连接到 PDO ODBC 驱动程序
PHP Cannot connect to PDO ODBC Driver
我的 php 找不到我的 odbc 驱动程序。我已经下载并重新安装了多次。谁能帮我解决这个错误:
QLSTATE[IM002] SQLDriverConnect: 0 [Microsoft][ODBC Driver Manager] Data
source name not found and no default driver specified"
这是我的 php 代码:
$dbName = "C:\Users\David\Documents\SCHOOLNEW\Assignment5-PROG1800\database\as4.mdb";
if (!file_exists($dbName))
{
die("Could not find database file.");
}
try
{
// Connect
$dbh = new PDO("odbc:Driver={Microsoft Access Driver(*.mdb, *.accdb)};Dbq=C:\Users\David\Documents\SCHOOLNEW\Assignment5-PROG1800\database\as4.mdb;Uid=Admin");
// INSERT data
$count = $dbh->exec("INSERT INTO part(vendorNo,description,onHand,onOrder,cost,listPrice) VALUES ('$vendorNo', '$desc', '$onHand', '$onOrder', '$cost', '$listPrice')");
// echo the number of affected rows
echo $count;
// close the database connection
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
我是 运行 php with apache on xampp
。这一切都在本地机器上。我的系统是 64 位的。我不确定它是否与系统和驱动器类型或我的语法或我需要安装的某些驱动程序有关。我只想将表单中的数据插入到我计算机上的数据库中。
你能不能在转义斜杠后放置路径然后试试:-
$dbName = "C:\Users\David\Documents\SCHOOLNEW\Assignment5-PROG1800\database\as4.mdb";
转义您在代码中提供的所有路径中的斜杠,然后尝试。
Driver={Microsoft Access Driver(*.mdb, *.accdb)}
不是有效的 ODBC 驱动程序名称,因为它缺少 space。较新的 "ACE" ODBC 驱动程序的正确名称是
Driver={Microsoft Access Driver (*.mdb, *.accdb)}
但是,在这种情况下,PHP 在 32 位环境中是 运行 并尝试打开 .mdb 数据库,因此较旧的 "Jet" ODBC 驱动程序 ...
Driver={Microsoft Access Driver (*.mdb)}
...也可以。
我的 php 找不到我的 odbc 驱动程序。我已经下载并重新安装了多次。谁能帮我解决这个错误:
QLSTATE[IM002] SQLDriverConnect: 0 [Microsoft][ODBC Driver Manager] Data
source name not found and no default driver specified"
这是我的 php 代码:
$dbName = "C:\Users\David\Documents\SCHOOLNEW\Assignment5-PROG1800\database\as4.mdb";
if (!file_exists($dbName))
{
die("Could not find database file.");
}
try
{
// Connect
$dbh = new PDO("odbc:Driver={Microsoft Access Driver(*.mdb, *.accdb)};Dbq=C:\Users\David\Documents\SCHOOLNEW\Assignment5-PROG1800\database\as4.mdb;Uid=Admin");
// INSERT data
$count = $dbh->exec("INSERT INTO part(vendorNo,description,onHand,onOrder,cost,listPrice) VALUES ('$vendorNo', '$desc', '$onHand', '$onOrder', '$cost', '$listPrice')");
// echo the number of affected rows
echo $count;
// close the database connection
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
我是 运行 php with apache on xampp
。这一切都在本地机器上。我的系统是 64 位的。我不确定它是否与系统和驱动器类型或我的语法或我需要安装的某些驱动程序有关。我只想将表单中的数据插入到我计算机上的数据库中。
你能不能在转义斜杠后放置路径然后试试:-
$dbName = "C:\Users\David\Documents\SCHOOLNEW\Assignment5-PROG1800\database\as4.mdb";
转义您在代码中提供的所有路径中的斜杠,然后尝试。
Driver={Microsoft Access Driver(*.mdb, *.accdb)}
不是有效的 ODBC 驱动程序名称,因为它缺少 space。较新的 "ACE" ODBC 驱动程序的正确名称是
Driver={Microsoft Access Driver (*.mdb, *.accdb)}
但是,在这种情况下,PHP 在 32 位环境中是 运行 并尝试打开 .mdb 数据库,因此较旧的 "Jet" ODBC 驱动程序 ...
Driver={Microsoft Access Driver (*.mdb)}
...也可以。