PDO可以连接多个数据库,但它们都需要不同的连接方法。
$conn = new PDO("pgsql:host=localhost port=5432 dbname=pdo", "username", "password");
$conn = new PDO("informix:DSN=InformixDB", "username", "password");
$conn = new PDO("OCI:dbname=accounts;charset=UTF-8", "username", "password")w
PDO("sqlite:/path/to/database.sdb");
我正在制作一个小部件,不知道用户是使用sql,SQlite,oracle还是informix数据库,但我想要覆盖所有内容。
问题:有没有办法检查哪个数据库可以使用PDO,或者我应该只使用PHP来询问哪些数据库可用,并告诉PDO哪个数据库正在使用?
这项检查只会进行一次,所以它的效率并不是非常重要,但我希望它的重量有点轻。
任何例子都会非常感激,因为我是新手,并且会享受起点。
答案 0 :(得分:2)
您可以使用PDO::getAvailableDrivers()
获取系统中的内容列表。
您仍然需要自己构建连接字符串(因为所有驱动程序都可以使用截然不同的参数),但这至少会告诉您可以在系统上使用的内容。