PHP进阶(二) ——数据库基础知识

作者:superzhang 时间:2018-02-15 16:36:14

上一节我们讲解了PHP的表单处理了解了POST GET的使用,但是我们要想把用户提交的内容保留下来我们改怎么做呢?今天我们讲解下数据库的知识。

PHP进阶(二) ——数据库基础知识

PHP通过安装相应的扩展来实现数据库操作,MsSQL,MySQL,Oracle,PostgreSQL等数据库都能支持。

if (function_exists('mysql_connect')) {  echo 'Mysql扩展已经安装';}

数据库扩展

Mysql常用的扩展有原生的mysql库,也可以使用增强版的mysqli扩展,还可以使用PDO进行连接与操作。

mysql扩展进行数据库连接的方法:

$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');

mysqli扩展:

$link = mysqli_connect('mysql_host', 'mysql_user', 'mysql_password');

PDO扩展:

$dsn = 'mysql:dbname=testdb;host=127.0.0.1';$user = 'mysql_user';$password = 'mysql_password';$dbh = new PDO($dsn, $user, $password);

连接MySql数据库

如:

$host = '127.0.0.1';$user = 'admin';$pass = '';// 连接数据库$link = mysql_connect($host, $user, $pass);// 选择数据库mysql_select_db('testdb');// 设置一下当前连接使用的字符编码,一般使用utf8编码。mysql_query("set names 'utf8'");

查询操作

// 发送查询指令$res = mysql_query('select * from user limit 1');// 对于查询类的语句会返回一个资源句柄(resource),可以通过该资源获取查询结果集中的数据。$row = mysql_fetch_array($res);var_dump($row);// PHP默认使用最近的数据库连接执行查询,但如果存在多个连接的情况,则可以通过参数指定连接。$res = mysql_query('select * from user limit 1', $link1);

PHP有多个函数可以获取数据集中的一行数据,最常用的是mysql_fetch_array,如上例。

可以通过设定参数MYSQL_NUM只获取数字索引数组,等同于mysql_fetch_row,如果设定参数为MYSQL_ASSOC则只获取关联索引数组,等同于mysql_fetch_assoc函数。

$row = mysql_fetch_row($result);$row = mysql_fetch_array($result, MYSQL_NUM);$row = mysql_fetch_assoc($result);$row = mysql_fetch_array($result, MYSQL_ASSOC);

插入操作

// 执行插入操作$id = '10';$name = 'tom';$sql = "insert into user(user_id, user_name) values('$id', '$name')";mysql_query($sql);// 在mysql中,执行插入语句以后,可以得到自增的主键id,通过PHP的mysql_insert_id函数可以获取该id。$uid = mysql_insert_id();

更新与删除操作

$sql = "update user set name = 'tom' where id=2 limit 1";if (mysql_query($sql)) {  echo '更新成功';  // 对于删除与更新操作,可以通过mysql_affected_rows来获取更新过的数据行数,如果数据没有变化,则结果为0。 echo mysql_affected_rows();}$sql = "delete from user where id=2 limit 1";if (mysql_query($sql)) { echo '删除成功'; echo mysql_affected_rows();}

关闭MySQL连接

当数据库操作完成以后,可以使用mysql_close关闭数据库连接。当PHP执行完毕以后,默认会自动关闭数据库连接。

mysql_close();

虽然PHP会自动关闭数据库连接,但是在对性能要求比较高的情况下,可以在进行完数据库操作之后尽快关闭数据库连接,以节省资源,提高性能。

在存在多个数据库连接的情况下,可以设定连接资源参数来关闭指定的数据库连接。

$link = mysql_connect($host, $user, $pass);mysql_close($link);

好本节讲解了 php与mysql 的结合 有什么不明白的关注我 ,收藏我我会后续给你们解答,欢迎大家留言~~

PHP进阶(二) ——数据库基础知识

欢迎留言订阅~~

分享到:

<< 上一篇:PHP进阶(一) ——表单处理 (2018-02-15 16:36)

>> 下一篇:为WordPress网站添加访客统计 (2018-02-15 16:36)