学习顺序
连接数据库 => 选择数据库 => 设置字符集 => 传递SQL命令 => 分析处理结果(增删改) => 处理结果集(查)
数据库连接与关闭
- mysql_connect()
header("Content-type: text/html; charset=utf-8"); // 设置字符集
$conn = mysql_connect('localhost', 'username', 'password'); // 当连接成功时返回连接标识符,失败返回false
if($conn){
echo '连接成功';
} else {
echo '连接失败';
}
复制代码
- mysql_close()
mysql_close($conn); // 表示关闭$conn的连接
复制代码
打开所选择的数据库
- mysql_select_db()
mysql_select_db('db_name'); // 返回true和false
复制代码
操作数据库
- mysql_query()
mysql_query('set names utf8'); // 通过mysql_query()来设置字符集
$sql = "insert into table_name(字段名) value('字段值')"; // 这里的SQL语句一定是个字符串
$query = mysql_query($sql); // $sql可以为任意SQL语句 当$sql为insert语句时返回true或者false
if($query){
echo '插入成功';
} else {
echo mysql_error(); // MySQL执行SQL语句的报错信息函数
}
复制代码
4fetch函数(获取行数据的函数)
- mysql_fetch_row()
$query = mysql_query('select * from table_name'); // 成功返回资源标识符,失败返回false
mysql_fetch_row($query); // 返回查询得到的第一条数据 数据结构为一维索引数组 索引与表中查询出来的字段顺序相对应
复制代码
最开始指针指向表中第一条数据,当执行一次mysql_fetch_row()后,指针下移到第二条数据,依此类推,当指向最后一条数据时再执行一次mysql_fetch_row(),指针指向空数据,此时执行mysql_fetch_row()返回false
- mysql_fetch_array()
它的用法和mysql_fetch_row()一样,区别在于mysql_fetch_row()返回索引数组,mysql_fetch_array()返回索引数组和关联数组的混合数组
mysql_fetch_array()还有第二个参数
1.MYSQL_ASSOC => 关联数组
2.MYSQL_NUM => 索引数组
3.MYSQL_BOTH => 默认两个都输出
- mysql_fetch_assoc()
效果同mysql_fetch_array('资源标识符', MYSQL_ASSOC),无任何差别
- mysql_fetch_object()
用法同上,返回对象,可以直接 -> 访问对象的属性
未定义
- mysql_num_rows()
$query = mysql_query(这里面是SQL语句);
$row = mysql_num_row($query); // $row 为查询得到的结果集合的行数
复制代码
- mysql_result()
id | name | num | price |
---|---|---|---|
1 | 苹果 | 3 | 13 |
2 | 香蕉 | 5 | 45 |
3 | 橘子 | 9 | 89 |
4 | 桃子 | 1 | 32 |
数据库数据如上表所示
$query = mysql_query("select * from table_name");
echo mysql_result($query, 0, name); // 这里应该输出苹果
// $query 表示查询d标识符
// 0 第二个参数 表示行数的索引 即第(n-1)行
// name 可选参数 表示要展示的字段名或偏移量 如果选字段名含义 填'name' 选偏移量含义 填1(id是0)
复制代码
- mysql_affected_rows()
$conn = mysql_connnect('localhost', 'username', 'password');
mysql_affected_rows($conn);
// 参数为连接标识符 它只能获取最近一次的操作修改记录 输出值为行数
复制代码