数据库问题

本节包含有关 PHP 和数据库之间关系的常见问题。是的,PHP 可以访问当今几乎所有可用的数据库。

我听说可以从 PHP 访问 Microsoft SQL Server。如何操作?

在 Unix 机器上,可以使用 PDO_ODBC统一 ODBC API

在 Windows 机器上,您还可以使用 PDO_SQLSRVSQLSRV

另请参阅对下一个问题的回答。

我可以访问 Microsoft Access 数据库吗?

如果您在 Unix 机器上运行 PHP 并想要与 Windows 机器上的 MS Access 通信,您将需要 Unix ODBC 驱动程序。 » OpenLink Software 提供可以执行此操作的基于 Unix 的 ODBC 驱动程序。

另一种选择是使用具有 Windows ODBC 驱动程序的 SQL 服务器,并使用它来存储数据,然后您可以从 Microsoft Access(使用 ODBC)和 PHP(使用内置驱动程序)访问这些数据,或者使用 Access 和 PHP 都理解的中间文件格式,例如平面文件或 dBase 数据库。关于这一点,OpenLink 软件的 Tim Hayes 写道

当您可以从 PHP 直接使用 ODBC 连接到您的数据库时,使用另一个数据库作为中间体并不是一个好主意 - 例如,使用 OpenLink 的驱动程序。如果您确实需要使用中间文件格式,OpenLink 现在已发布了 Virtuoso(一个虚拟数据库引擎),适用于 NT、Linux 和其他 Unix 平台。请访问我们的 » 网站 免费下载。

一个已被证明成功的选择是使用 MySQL 及其 MyODBC 驱动程序在 Windows 上运行并同步数据库。Steve Lawrence 写道

  • 按照 MySQL 的说明在您的平台上安装 MySQL。最新版本可从 » https://www.mysqlserver.cn/ 获取。除了在设置数据库和配置用户帐户时,您应该在主机字段中放置 % 或您想要使用它访问 MySQL 的 Windows 计算机的主机名之外,不需要任何特殊配置。记下您的服务器名称、用户名和密码。
  • 从 MySQL 网站下载 MyODBC for Windows 驱动程序。将其安装在您的 Windows 机器上。您可以使用该程序附带的实用程序测试其操作。
  • 在 ODBC 管理员(位于控制面板中)中创建一个用户或系统 DSN。填写 DSN 名称,输入您的主机名、用户名、密码、端口等,用于您在步骤 1 中配置的 MySQL 数据库。
  • 使用完整安装安装 Access,这将确保您获得适当的加载项... 至少您需要 ODBC 支持和链接表管理器。
  • 现在是乐趣开始的时候!创建一个新的 Access 数据库。在表窗口中右键单击并选择“链接表”,或在“文件”菜单选项下,选择“获取外部数据”,然后选择“链接表”。当文件浏览器框出现时,选择“文件类型:ODBC”。选择“系统 DSN”和您在步骤 3 中创建的 DSN 名称。选择要链接的表,按“确定”,瞧!您现在可以打开表并在您的 MySQL 服务器上添加/删除/编辑数据!您还可以构建查询、将表导入/导出到 MySQL、构建表单和报表等。

技巧和窍门

  • 您可以在 Access 中构建表格,然后将它们导出到 MySQL,然后再将它们链接回来。这使得表格创建变得快速。
  • 在 Access 中创建表格时,必须定义一个主键,才能在 Access 中对表格进行写入操作。在链接到 Access 之前,确保在 MySQL 中创建了主键。
  • 如果您更改了 MySQL 中的表格,则必须在 Access 中重新链接它。转到“工具”>“加载项”>“链接表管理器”,浏览到您的 ODBC DSN,然后从那里选择要重新链接的表格。您也可以在那里移动您的 DSN 源,只需在按“确定”之前选中“始终提示新位置”复选框即可。

添加说明

用户贡献说明 1 条说明

knb at gfz-potsdam dot de
19 年前
这对 SYBASE 用户来说是一条至关重要的信息

如果您使用的是来自 sybase 的免费但过时的 11.x 客户端库,
那么请使用选项 "--with-sybase-ct=$SYBASE" 编译
用适当的目录名称替换 $SYBASE。

选项 --with-sybase(没有 ct)可以用来与旧的 MS-SQL 服务器通信,但只能使用 11.x 客户端库。

如果您使用的是来自 sybase 的免费或合法获得的 12.x 客户端库,那么请使用选项 "--with-sybase-ct=$SYBASE/$SYBASE_OCS" 编译
用适当的目录名称替换 $SYBASE/$SYBASE_OCS。
To Top