[英]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
运行php with apache on xampp
。 所有这些都在本地计算机上。 我的系统是64位。 我不确定是否与系统和驱动器类型,语法或需要安装的某些驱动程序有关。 我只想将表单中的数据插入计算机上的数据库。
Driver={Microsoft Access Driver(*.mdb, *.accdb)}
不是有效的ODBC驱动程序名称,因为它缺少空格。 较新的“ ACE” ODBC驱动程序的正确名称是
Driver={Microsoft Access Driver (*.mdb, *.accdb)}
但是,在这种情况下,PHP在32位环境中运行,并尝试打开.mdb数据库,因此较旧的“ Jet” ODBC驱动程序...
Driver={Microsoft Access Driver (*.mdb)}
……也可以。
您可以在转义斜线后放置路径,然后尝试:
$dbName = "C:\\Users\\David\\Documents\\SCHOOLNEW\\Assignment5-PROG1800\\database\\as4.mdb";
在代码中提供的所有路径中转义斜杠,然后尝试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.