连接数据库步骤:
1/先查看phpinfo()配置项中有没有开启PDO库
2/定义一个数据源,包括数据库类型,主机地址,数据库名称
$dsn = 'mysql:host=localhost;dbname=hdw';
$username = 'root';//数据库的用户名
$password = 'root';//数据库的密码
3/实例化PDO这个类,并往里面传参
$pdo = new PDO($dsn,数据库用户名,数据库密码);
4/调用报错提示方法,一旦数据库连接不成功就会提醒哪里出错了
//setAtrribute()第一个参数是固定写法,第二个参数是提示警告型错误,非致命型错误
$pdo -> setAttribute(PDO::ATRR_ERRMODB,PDO::ERRMODB_WRANING);
5/如果没报错,就代表连接成功,可以开始在php页面中操作数据库了;
1/
query
() query中文意思为'查询' 当有
select
查询数据时才会用到
也就是说如果你执行的动作有结果集返回,那么用query()方法来执行sql语句,反之则用
exec
()方法(exec中文意思为'执行 ' ),例如
insert into
插入数据 ,
delete
删除数据,
update
修改数据这些语句
2/ 实现预准备 必须由prepare()预准备语句方法 配合 bindParam()绑定参数方法 和 execute()执行预准备语句方法使用
//预准备sql语句,把要替换的地方先用?号代替
注意!!!!!只能替换sql语句中的参数值
$sql
=
'insert into class set name=?, sex=?, birthday=?'
;
//预准备语句方法,目的为了让分析/编译/优化/的操作只执行一次,从而提高效率
$str = $pdo->prepare($sql);
//定义变量
$name
=
'余博'
;
$sex
=
'男'
;
$birthday
=
'1970-01-01'
;
//然后通过bindParam()方法给预准备语句绑定参数,需要一一对应,只能一个个绑定
$str->bindParam(1,$name);
$str
->bindParam(
2
,
$sex
);
$str
->bindParam(
3
,
$birthday
);
//绑定完成后,最后执行预准备sql语句
$str->execute();
3/
fetchAll
()
//fetchAll方法是获取所有数据方法,如果不传递参数,将获取到关联数组和索引数组组成的
二维大数组
,默认为PDO::FETCH_BOTH
//如果只想获取
关联数组
,需要对fetchAll方法传递参数
PDO::FETCH_ASSOC
//如果只想获取索引数组,需要对fetchAll方法传递参数PDO::FETCH_NUM
//如果想获取对象形式的数据,需要对fetchAll方法传递参数PDO::FETCH_OBJ
fetch
()
当你明确的知道你要找的数据只有1条的时候,就用fetch方法,获取到的是一个
一维数组