一、操作数据库的步骤
我们对数据库的操作主要分为五步:
连接数据库、选择数据库、设置编码方式、操作数据库、关闭数据库。
二、连接数据库
连接数据库的方法是调用mysql_connect()函数,它需要我们提供三个参数,服务器的主机名,用户名和密码。如果服务器和php运行在同一台计算机上,可以使用localhost作为主机名。
// 1、连接数据库 服务器主机名,用户名,密码
$db = mysql_connect("localhost","root","");
三、选择数据库
与数据库进行连接之后,就可以使用各种mysql_xxx()函数对数据库进行操作,但是为了每次调用mysql_xxx()函数都要指定目标数据库,一般我们会先用mysql_select_db()函数选定一个默认数据库,其参数为数据库名称。
//选择数据库
mysql_select_db("mydataDB")
四、设置编码方式
由于我们的程序中有时会需要显示汉字,为了防止汉字乱码,我们就要先设置编码方式为SET NAMES UTF8,并用mysql_query()函数来执行者个指令。
// 设置编码方式
mysql_query("SET NAMES UTF8");
- mysql_query() 函数可以用来执行任何一种SQL命令,比如SELECT(查询)、INSERT(插入新纪录)、UPDATE(修改现有记录)、DELETE(删除现有记录)、CREATE TABLE(创建新数据表)、ALTER TABLE(修改数据表结构)等。
五、操作数据
1、查询数据表,使后面的所有操作都针对当前数据表执行。
// 创建sql语句,并检测是否正确
$sql = "SELECT * FROM users";
$res = mysql_query($sql);
2、mysql_fetch_row()函数将以普通数组的形式返回数据库中的一条数据,它的各个字段需要以$row[n]的方式进行访问。
$row = mysql_fetch_row($res); // 返回普通数组
var_dump($row);
var_dump()方法是判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型.
$row = mysql_fetch_row($res);
var_dump($row);
echo "
";
print_r($row);
>```
![var_dump和print_r的区别](http://upload-images.jianshu.io/upload_images/1986486-438b0f29657462fa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
// 遍历获取username的值
while ($row = mysql_fetch_row($res)) {
echo $row["1"]."
";
};
![代码执行效果](http://upload-images.jianshu.io/upload_images/1986486-0e907292668e4e4b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
3、mysql_fetch_array()函数将以关联数组的形式返回数据库中的一条数据,它的各个字段需要以$row[n]或$row["colname"]的方式进行访问。
$row = mysql_fetch_array($res);
print_r($row);
echo "
";
echo $row[1];
//echo $row["username"];
![代码执行效果](http://upload-images.jianshu.io/upload_images/1986486-6d84849efb618d59.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
4、mysql_fetch_accoc()函数也以关联数组的形式返回数据库中的一条数据,它的各个字段只能以$row["colname"]的方式进行访问。
$row = mysql_fetch_assoc($res);
print_r($row);
echo "
";
echo $row["username"];
![代码执行效果](http://upload-images.jianshu.io/upload_images/1986486-d9710d7bca910ca3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
5、mysql_fetch_object()函数以一个对象的方式返回数据库中的一条数据,它的各个字段需要以$row->colname的方式进行访问。
$row = mysql_fetch_object($res);
var_dump($row);
echo "
";
echo $row->username; //取出对象的属性
![代码执行效果](http://upload-images.jianshu.io/upload_images/1986486-fdb91f0a787c03d7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
6、mysql_num_rows()函数用于获取查询返回的记录数。
// 获取查询记录的数量
$count = mysql_num_rows($res);
echo "
$count
";
![代码执行效果](http://upload-images.jianshu.io/upload_images/1986486-f1ce6613ae4877d9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
7、mysql_insert_id() 函数用于获取INSERT(插入)操作产生的ID。
8、mysql_affected_rows()函数用于获取前一次对数据库操作所影响的记录数。
// 获取由于insert而产生的id
$id = mysql_insert_id($db);
echo $id;
echo "
";
// 获取影响的行数
$rows = mysql_affected_rows($db);
echo $rows;
![代码执行效果](http://upload-images.jianshu.io/upload_images/1986486-aed5f777dc39461e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
9、mysql_free_result()函数释放查询结果。
// 释放查询结果
mysql_free_result($res);
#五、关闭数据库
调用mysql_close()函数可关闭数据库,参数为我们指定的数据库,如果不写参数,则默认为最近打开的数据库。
// 打开数据库
$db = mysql_connect("localhost","root","");
// 关闭数据库
mysql_close($db);
***
以上内容纯属个人理解,由于本人水平有限,若有错漏之处敬请之处改正,谢谢!