这里特别要注意的是 php7.0 已经不支持 mysql_connect() 函数了,取而代之的是 mysqli_connect 或者是 PDO
- $link = mysqli_connect('127.0.0.1', 'code1', '') or die('数据库连接失败');
- mysqli_select_db('code1');
- mysqli_query("set names 'utf8'");
- $result = mysqli_query('select * from user limit 1');
- $row = mysqli_fetch_assoc($result);
- print_r($row);
对应的 mysql 连接操作是
- mysql - h localhost - u code1 - p
当连接成功以后,我们需要选择一个操作的数据库,通过 mysql_select_db 函数来选择数据库。
- mysqli_select_db('code1');
通常我们会先设置一下当前连接使用的字符编码,一般的我们会使用 utf8 编码。
- mysqli_query("set names 'utf8'");
先执行 mysqli_query 函数来发送查询语句
然后执行 mysqli_fetch_arry 函数来取回查询数据
- $res = mysqli_query('select * from user limit 1');
- $row = mysqli_fetch_array($res);
- var_dump($row);
插入数据是用 mysqli_query 来执行 mysql 的插入语句, 在 mysql 中,执行插入语句以后,可以得到自增的主键 id, 通过 PHP 的 mysql_insert_id 函数可以获取该 id。
- $name = '李四';
- $age = 18;
- $class = '高三一班';
- $sql = "insert into user(name, age, class) values('$name', '$age', '$class')";
- mysql_query($sql); //执行插入语句
- $uid = mysql_insert_id();
- echo $uid;
取回数据最常用的是 mysqli_fetch_array(取回数据一般都是取回一行数据)
用 mysqli_fetch_row 来获取数字索引数组
用 mysqli_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);
用循环遍历来获取所有数字
- $data = array();
- while ($row = mysql_fetch_array($result)) {
- $data[] = $row;
- }
我们使用分页来显示数据,每页显示 10 到 20 条数据
mysql 中的 limit 可以实现分页,limit m,n 表示从 m 行后取 n 行数据,
假定当前页为 $page, 每页显示 $n 条数据, m 为当前页前面所有数据,即
- $m = ($page - 1) * $n
- $page = 2;
- $pagesize = 2;
- //在这里构建分页查询
- $offset = ($page - 1) * $pagesize;
- $sql = "select * from user limit $offset,$pagesize";
- //获取翻页数据
- $result = mysql_query($sql);
- $data = array();
- while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
- $data[] = $row;
- }
- print_r($data);
这个只需要通过 mysql 的 update 和 delete 来进行操作
更新操作
- $sql = "update user set name = '曹操' where id=2 limit 1";
- if (mysql_query($sql)) {
- echo'更新成功';
- }
删除操作
- $sql = "delete from user where id=2 limit 1";
- if (mysql_query($sql)) {
- echo'删除成功';
- }
mysql_affected_rows 函数来获取更新过的数据行数
- echo'数据更新行数:'.mysql_affected_rows();
mysql_close();
或者
- $link = mysql_connect($host, $user, $pass);
- mysql_close($link);
来源: http://www.bubuko.com/infodetail-2451987.html