php - 使用 PHP 支持多种数据库类型

标签 php mysql sqlite class

一段时间以来,我一直想构建多数据库应用程序,但我仍然找不到任何关于如何去做的信息。

我只想知道处理 SQLite 和 MySQL 查询的最佳方式。对于要运行的每个查询,我是否需要一个包含两个不同查询的 IF 语句?

或者是否有一种简单的方法可以将 MySQL 语句转换为 SQLite?

最佳答案

使用PHP's PDO .

您只需更改连接字符串,即可连接到不同的数据库。只要您的 SQL 不是使用特定于特定数据库的函数编写的,它就只适用于这些数据库:

CUBRID (PDO) — CUBRID Functions (PDO_CUBRID)
MS SQL Server (PDO) — Microsoft SQL Server and Sybase Functions (PDO_DBLIB)
Firebird/Interbase (PDO) — Firebird/Interbase Functions (PDO_FIREBIRD)
IBM (PDO) — IBM Functions (PDO_IBM)
Informix (PDO) — Informix Functions (PDO_INFORMIX)
MySQL (PDO) — MySQL Functions (PDO_MYSQL)
MS SQL Server (PDO) — Microsoft SQL Server Functions (PDO_SQLSRV)
Oracle (PDO) — Oracle Functions (PDO_OCI)
ODBC and DB2 (PDO) — ODBC and DB2 Functions (PDO_ODBC)
PostgreSQL (PDO) — PostgreSQL Functions (PDO_PGSQL)
SQLite (PDO) — SQLite Functions (PDO_SQLITE)
4D (PDO) — 4D Functions (PDO_4D)

它支持您想要的所有功能以及许多防止注入(inject)攻击的内置功能等等。

编辑:eldbiz 建议的一些不错的进一步阅读链接

http://php.net/manual/en/book.pdo.php http://www.php.net/manual/en/ref.pdo-sqlite.php http://www.php.net/manual/en/ref.pdo-mysql.php

关于php - 使用 PHP 支持多种数据库类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12002831/

相关文章:

php - 当不再有记录显示 PHP 时禁用或删除 'next' 按钮

SQLite 在 INSERT 和 UPDATE 时自动递增

iphone - 如何从 sqlite3 中检索数据?

mysql - 为 A 列的每个值选择 B 列的 N 个最频繁的值

javascript - 通过 Javascript 访问 SQLite 数据?

javascript - AJAX 转 PHP 图片上传

php - 为 PHP 编写 Bulletproof __autoload 函数

php - 在 laravel 5 中使用参数进行路由

php - MySQL 仅针对特定日期的无效日期时间格式

php - MySQL错误: Unknown column in 'field list'