使用 PHP7 在 MariaDB 中的 MySQLi 和 PDO

Posted

技术标签:

【中文标题】使用 PHP7 在 MariaDB 中的 MySQLi 和 PDO【英文标题】:MySQLi and PDO in mariaDB with PHP7 【发布时间】:2018-12-23 04:50:00 【问题描述】:

我刚刚开始学习一些 php/mysql(以及一般的编程)。我主要使用在这里找到的文档:https://www.w3schools.com/php/php_mysql_intro.asp 它系统地提出了使用 mySQLi 或 PDO 扩展来访问 PHP 中的数据库的方法,但是如果我使用 MariaDB 数据库,或者我必须在我的 MariaDB 安装中添加一些东西,我找不到这是否必要。

【问题讨论】:

PHP 使用 MySQL 驱动程序与 MariaDB 对话。是的,你需要它们,不,你不需要其他任何东西 据我所知 PHP 没有针对 MariaDB 的特定驱动程序,所以,是的,您基本上需要使用可用的 MySQL 扩展。 (关于你提到的教程,它看起来并不像普通教程那么糟糕,但请不要使用 try/catch 来回显异常,它没有意义并且会破坏许多其他东西。) 【参考方案1】:

在 PHP 中使用 mysql 的最简单方法是 PHP 的 mysqli 扩展。您必须在 PHP 安装中安装 MySQLi 扩展。在您的 mysql 服务器上,您不必安装任何其他软件。 在您的 PHP 中,您可以通过一些简单的命令访问数据库。

查看以下链接以获取更多文档 http://php.net/manual/en/book.mysqli.php

我希望这会有所帮助。

【讨论】:

【参考方案2】:

您可以同时使用 PDO 和 mysqli 连接到 MariaDB。我强烈建议选择 PDO,因为它对初学者来说更容易并且提供更多选择。

MariaDB 只是 MySQL 数据库的一种。它试图在很大程度上保持与 MySQL 的兼容性。 MariaDB 的 PHP 中没有单独的驱动程序,因为可以使用现有的驱动程序。

要在 PHP 中连接到 MariaDB,您可以使用与 MySQL 相同的代码:

$pdo = new \PDO("mysql:host=localhost;dbname=test;charset=utf8mb4", 'user', 'password', [
    \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
    \PDO::ATTR_EMULATE_PREPARES => false
]);

【讨论】:

【参考方案3】:

如果您谈论“方法”,您必须知道方法就像一个函数,但它始终属于一个类。然后我们谈谈面向对象的PHP

一个函数不一定属于一个类。它可以存在于它之外,然后我们说Procedural PHP

对于初学者,我建议学习程序版本的命令。 但你也可以学习 oo 版本。

【讨论】:

以上是关于使用 PHP7 在 MariaDB 中的 MySQLi 和 PDO的主要内容,如果未能解决你的问题,请参考以下文章

Yum安装LAMP(Centos7.2+Apache2.4+Mariadb5.5.56+PHP7.0.24)

Yum安装LAMP(Centos7.2+Apache2.4+Mariadb5.5.56+PHP7.0.24)

Yum安装LAMP(Centos7.2+Apache2.4+Mariadb5.5.56+PHP7.0.24)

Yum安装LAMP(Centos7.2+Apache2.4+Mariadb5.5.56+PHP7.0.24)

Yum安装LAMP(Centos7.2+Apache2.4+Mariadb5.5.56+PHP7.0.24)

Yum安装LAMP(Centos7.2+Apache2.4+Mariadb5.5.56+PHP7.0.24)