前言:在我们之前学习sql语句的时候都是停留在黑窗口的,怎样才能让mysql与程序代码发生联系呢?此时PDO和Mysqli应运而生,为了解决这个问题
(一)开启其中(pdo或者mysqli)的php扩展
我使用的是phpStudy因此开启扩展比较方便(注意需要重启),此时写一段程序输出phpinfo() 你可以查看是否安装成功
看到这两个就是表示成功了!
(二)连接数据库
mysqli连接数据库的方法:
$dsn = mysqli_connect(数据库ip地址, 帐号, 密码, 默认选择的数据库)
mysqli_set_charset(mysqli连接, 字符集编码)
这两步最好同时进行,此时已经完成了连接如果你连接失败你可以用mysqli_connect_error($con)这个函数会抛出错误的具体的信息
pdo连接数据库的方法(操作):
// 数据库类型:host=IP地址;port=端口号;charset=字符集;dbname=数据库名
$dsn = 'mysql:host=localhost;port=3306;charset=utf8;dbname=test';
$pdo = new PDO($dsn, 'root', '123abc');
(三)操作数据库的增删改查
mysqli操作数据库的增删改:
//$sql = sql语句;
mysqli_query(mysqli连接(上面的$dsn), sql语句);//操作成功会返回对应的布尔值
查操作:
$dsn = mysqli_query(mysqli连接, sql语句)
mysqli_fetch_assoc($dsn)[1.每次获取一条数据2.以字段名下标的关联数组]
mysqli_fetch_row($dsn)[1.每次获取一条数据2.获取的是索引下标的数组]
mysqli_fetch_all(结果集[, 数组形态]) 数组形态可指定MYSQLI_ASSOC、MYSQLI_NUM(默认值)或MYSQLI_BOTH [1获取的是多条数据,2可以指定的类型]
pdo操作数据库的增删改:
$sql = 'insert into cz_user values (null, "袁崇焕", "abcdefg", "ych@admin.com")';
$re = $pdo->exec($sql);//操作成功会返回对应的布尔值
查操作:
$dsn = $pdo->query(SQL语句) 执行查询操作SQL语句
fetch(解析类型[ ,PDO::FETCH_ASSOC][,PDO::FETCH_NUM][,PDO::FETCH_BOTH]) 一次解析一行数据()
fetchAll(解析类型[ ,PDO::FETCH_ASSOC][,PDO::FETCH_NUM][,PDO::FETCH_BOTH]) 一次性解析所有数据
以上是能够满足日常的增删改查的简单如果还需要别的操作这两个扩展也是提供了很丰富的方法从手册查看吧.