PHP学习十一--PHP操作MYSQL数据库
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进行其他的数据操作。