ღ Miranda

PHP操作Mysql数据库

今天用php7对mysql数据库操作,发现和php5的差距还是非常大的。

选择API

PHP5可以使用mysql extensionmysqliPDO_MYSQL,PHP7移除了mysql extension,只剩下后面两种选择。

官网示例:

所以使用mysql extension会一直报错,比如报Call to undefined function mysql_connect()错误。

创建新数据库

在mac上我使用Sequel Pro这款开源数据库软件对mysql数据库操作,先用一下代码创建一个新数据库名为Injection并插入数据。

mysqli代码

mysqli的方法是面向对象的方法,与普通方法非常类似。

首先还是和原来一样定义变量:

然后创建新的查询:

mysql extension代码

php5可以用mysql extension操作数据库。


  1. 在mysql_connect()、mysql_select_db()等函数之前使用@(错误控制运算符),可以忽略掉系统产生的错误信息,然后我们用die()来自定义错误信息。
  2. 提取数据的时候,除了上面的mysql_fetch_row,常见的还有mysql_fetch_assoc和mysql_fetch_array。

PDO代码

DO其实是PHP Database Objects的缩写,中文即PHP数据库对象。它提供了一种统一的PHP与数据库交互的方法。
这是目前比较流行的一种连接数据库的方法。它的优势在于:只要正确提供数据源,余下对于数据库的基本操作都是一样的。也就是说,同一段代码既可以同MySQL交互,也可以和SQLite3交互,当然也可以和PostgreSQL进行交互,前提是你提供了正确的数据源。下面看一下连接MySQL的代码:

如果是SQLite3,直接使用下面的代码:

如果是PostgreSQL,下面的代码能够对付:

跟数据库成功建立连接之后,下面就只需要从数据库获取数据或插入更新数据,实例代码如下:

发表评论

电子邮件地址不会被公开。