首页 > 代码库 > PDO操作数据库

PDO操作数据库

$dsn="mysql:host=localhost;dbname=test";
try{
 $db=new PDO($dsn,‘root‘,‘root‘);
}catch(PDOException $e){
 die(‘error:‘.$e);
}

说明:

$dsn = "mysql:host=localhost;dbname=test";
就是构造我们的DSN(数据源),看看里面的信息包括:数据库类型是mysql,主机地址是localhost,数据库名称是test

$db = new PDO($dsn, ‘root‘, ‘root‘);
初始化一个PDO对象,构造函数的参数第一个就是我们的数据源,第二个是连接数据库服务器的用户,第三个参数是密码

 

$res=$db->query("select * from user");
$rows=$res->fetchAll( PDO :: FETCH_COLUMN ,  0 );

说明:

获取结果集的第一列

$res=$db->query("select * from user");
$rows=$res->fetchAll( PDO :: FETCH_ASSOC );
说明:
以索引数组形式获取结果集,PDO :: FETCH_NUM 关联数组 PDO :: FETCH_BOTH 两者都有,默认值 

 

$rs = $db->query("SELECT COUNT(*) FROM foo");
$col = $rs->fetchColumn();
echo $col;

说明:

一般使用fetchColumn()来进行count统计或者单字段的记录操作

foreach($db->query("select * from user where name=‘name8‘") as $row){
	var_dump($row);
}

 

说明:

循环输出结果集

 

prepare预处理

1、查询
$stmt=$db->prepare("select * from user where name=?");
if($stmt->execute(array(‘name8‘))){
	while($row=$stmt->fetch()){
		var_dump($row);
	}
}

2、插入
$stmt=$db->prepare("insert into user(name,pass) values(?,?)");
if($stmt->execute(array(‘sa1‘,666))){
	echo ‘插入成功‘;
	echo $db->lastinsertid();
}

 

PDO操作数据库