PHP数据库扩展
PHP通过安装相应的扩展来实现数据库操作,PHP中一个数据库可能有一个或者多个扩展,其中既有官方的,也有第三方提供的。像Mysql常用的扩展有原生的mysql库,也可以使用增强版的mysqli扩展,还可以使用PDO进行连接与操作。
不同的扩展提供基本相近的操作方法,不同的是可能具备一些新特性,以及操作性能可能会有所不同。
mysql扩展进行数据库连接的方法:
1 | $link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password'); |
mysqli扩展:
1 | $link = mysqli_connect('mysql_host', 'mysql_user', 'mysql_password'); |
PDO扩展:
1 | $dsn = 'mysql:dbname=testdb;host=127.0.0.1'; |
如果PHP中没有对应扩展可以通过包管理器安装,再在PHP配置文件‘php.ini’添加‘extension=扩展名.so’开启扩展:
例如:
1 | apt install php7.0-mysqli |
PHP数据库操作之连接MySQL数据库
PHP要对数据库进行操作,首先要做的是与数据库建立连接,通常我们使用mysql_connect函数进行数据库连接,该函数需要指定数据库的地址,用户名及密码。
示例:
1 | $host = '127.0.0.1'; |
PHP数据库操作之执行MySQL查询
在数据库建立连接以后就可以进行查询,采用mysql_query加sql语句的形式向数据库发送查询指令。
1 | $res = mysql_query('select * from user'); |
对于查询类的语句会返回一个资源句柄(resource),可以通过该资源获取查询结果集中的数据。
1 | $row = mysql_fetch_array($res); |
默认的,PHP使用最近的数据库连接执行查询,但如果存在多个连接的情况,则可以通过参数指令从那个连接中进行查询。
1 | $link1 = mysql_connect('127.0.0.1', 'code1', ''); |
PHP数据库操作之插入新数据到MySQL中
和数据查询一样,插入数据其实也是通过执行一个sql语句来实现。
1 | $name = '李四'; |
在mysql中,执行插入语句以后,可以得到自增的主键id,通过PHP的mysql_insert_id函数可以获取该id。这个id的作用非常大,通常可以用来判断是否插入成功,或者作为关联ID进行其他的数据操作。
1 | $uid = mysql_insert_id(); |
PHP数据库操作之查询分页数据
通过循环可以获取一个查询的所有数据,在实际应用中,我们并不希望一次性获取数据表中的所有数据,那样性能会非常的低,因此会使用翻页功能,每页仅显示10条或者20条数据。
通过mysql的limit可以很容易的实现分页,limit m,n表示从m行后取n行数据,在PHP中我们需要构造m与n来实现获取某一页的所有数据。
假定当前页为$page,每页显示$n条数据,那么m为当前页前面所有的数据,既$m = ($page-1) * $n,在知道了翻页原理以后,那么我们很容易通过构造SQL语句在PHP中实现数据翻页。
1 | //连接数据库 |
在上面的例子中,我们使用了$m与$n变量来表示偏移量与每页数据条数,但我们推荐使用更有意义的变量名来表示,比如$pagesize, $start, $offset等,这样更容易理解,有助于团队协作开发。
PHP数据库操作之更新与删除数据
数据的更新与删除相对比较简单,只需要构建好相应的sql语句,然后调用mysql_query执行就能完成相应的更新与删除操作。
更新:
1 | $sql = "update user set name = '曹操' where id=2 limit 1"; |
删除:
1 | $sql = "delete from user where id=2 limit 1"; |
对于删除与更新操作,可以通过mysql_affected_rows函数来获取更新过的数据行数,如果数据没有变化,则结果为0。
1 | $sql = "update user set name = '曹操' where id=2 limit 1"; |
PHP数据库操作之关闭MySQL连接
当数据库操作完成以后,可以使用mysql_close关闭数据库连接,默认的,当PHP执行完毕以后,会自动的关闭数据库连接。
自动关闭数据库连接:
1 | mysql_closer(); |
在存在多个数据库连接,对性能要求比较高的情况下,可以设定连接资源参数来关闭指定的数据库连接,有利于在进行完数据库操作之后尽快关闭数据库连接,以节省资源,提高性能。
关闭指定数据库连接:
1 | $link = mysql_connect($host, $user, $pass); |
源自:本篇文章为慕课网PHP入门教程的知识总结
声明:以上内容如有不足之处,欢迎联系指正,转载请注明出处!