PHP学习十一--PHP操作MYSQL数据库

时间:2024-04-15 07:17:53

1.PHP访问Mysql数据库的一般步骤

                                                     连接MySQL服务器

                                                     选择MySQL数据库

                                请求               执行SQL语句                        请求

MySQL数据库服务器<------------->    关闭结果集                 <------------------>   数据资源

                                响应               关闭MySQL服务器                 响应

(1).连接MySQL服务器。

通过mysql_connect()函数建立与MySQL服务器的连接。

mysql_connect(\'hostname\',\'username\',\'password\');hostname为MySQL服务器的主机名或IP,其他两个为登录MySQL需要的用户名和密码。

$link = mysql_connect("localhost",\'root\',\'root\');

if($link){

echo "数据源连接成功";

}

(2).选择MySQL数据库

使用mysql_select_db()函数选择MySQL数据库服务器上的数据库,并与数据库建立连接。

mysql_select_db(string 数据库名称, link_identifier);

$db_selected = mysql_select_db("db_database18",$link);

if($db_selected){
   echo "数据库选择成功";

}

(3).执行SQL语句

1).使用mysql_query()语句进行对数据库操作。

mysql_query(string query, resource link_identifier);

$result = mysql_query("select * from bt_member",$link);

前一个参数放置SQL语句,后面是连接表示符。

2).使用mysql_fetch_array()函数从数组结果中获取信息

array mysql_fetch_array(resource result,int result_type);

$info = mysql_fetch_array($result);

<?php echo $info[bookname];?>

3).使用mysql_fetch_object()函数同样

此函数和mysql_fetch_array()函数类似,区别只有一点,即此函数返回的是一个对象而不是数组,该函数只能通过字段名来访问数组。使用下面的格式来获取结果集中行的元素值。如从数据表中检索id和name的值:$row->col_name

$info = mysql_fetch_object($sql);

<?php echo $info->bookname?>

4).使用mysql_fetch_row()函数逐行获取结果集中的每条数据

array mysql_fetch_row(resource result)

$info = mysql_fetch_row($result);

<?php echo $row[1];?>

5).使用mysql_num_rows()函数获取查询结果集中的记录数

int mysql_num_rows(resource result)

$nums = mysql_num_rows($result);

echo nums;

(4).关闭结果集

操作结束后要关闭结果集,释放系统资源

mysql_free_result($result);

如果多个网页中要频繁访问数据库,则需要建立持续的连接提高效率。可以调用mysql_pconnect();

(5).关闭MySQL服务器

每一次建立连接,修改数据库都会消耗系统资源。如果用户连接超过一定数量,就会造成系统性能下降,甚至死机。为了避免这种情况发生,完成数据库操作后,应该关闭与MySQL服务器的连接。使用函数mysql_close($link);

 

2.PHP数据库的扩展

PHP中一个数据库可能有一个或者多个扩展,其中既有官方的,也有第三方提供的。像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 = \'dbuser\';
$password = \'dbpass\';
$dbh = new PDO($dsn, $user, $password);


在mysql中,执行插入语句以后,可以得到自增的主键id,通过PHP的mysql_insert_id函数可以获取该id。

$uid = mysql_insert_id();

这个id的作用非常大,通常可以用来判断是否插入成功,或者作为关联ID进行其他的数据操作。