php PDO操作通用数据库

**PDO连接数据库**
	
	''内的字符串不需要再添加''$pdo对象=new PDO('数据库名:host=主机名;dbname=库名','用户名','密码');

**PDO不是每次都能成功连接数据库,因此需要tyr-catch包裹**
		try{
			PDO连接
		}catch(PDOException $e){
	
			echo $e->getMessage();
		}
		
		
**解决中文乱码**
	读取:$pdo对象->query('set names utf8');
	插入:$pdo对象->exec('set names utf8');

**操作数据库(可以增、删、改,无法获取查询的结果)**

	$pdo对象->exec('sql语句')
		增删改返回布尔值

**预处理操作数据库(可获取查询结果)------------------------------------------------**

**预处理语句**

	$数据库连接对象->prepare('sql语句');  **其中参数用?占位符来代替**
	$预处理返回对象->execute(array('参数1','参数2',...)/['参数1','参数2',...]);


**预处理查询操作**
	
	//绑定字段值
	
		$预处理对象->bindColumn(1,$绑定第一个字段值的变量);
		$预处理对象->bindColumn(2,$绑定第二个字段值的变量);
	
	//返回数据库中每一条内容,但内容无法获取,然后读取下一条,相当于计数器
		$预处理对象->fetch(PDO::FETCH_COLUMN);

	for($i=0;$row=$预处理对象->fetch(PDO::FETCH_COLUMN);$i++)
	{
		$arr[$i]=array('xx'=>$绑定的对象,'xx'=>绑定的对象,...);
	}

代码示例:

<?php

	try{
		$pdo=new PDO('mysql:host=localhost;dbname=day2db','root','dyl1234');
	}catch(PEDException $e){
		echo '错误信息为:'.$e->getMessage();
		
	}

?>

$PDO对象->exec(‘sql语句’)操作数据库

	//引入已有单例php文件
	require 'singletonPDO.php';
	$pdo=singlePdo::getPdo();
	$pdo->exec('set names utf8');

	//增
	$sql="insert into userinfo values('cathy','247')";	
	//删
	$sql2="delete from userinfo where password='247'";
	//改
	$sql3="update userinfo set password='111' where userName='kate'";
	
	//查
	$sql4='select * from userinfo';

	$res=$pdo->exec($sql4);
	print_r($res);

预处理操作数据库

<?php
	echo '<pre>';
	//引入单例PDO文件
	require_once 'singletonPDO.php';

	$pdo=singlePdo::getPdo();
	$pdo->exec('set names utf8');

	$sql='select * from userinfo';
	$pre=$pdo->prepare($sql);
	$res=$pre->execute();
	
	//绑定字段值
	$pre->bindColumn(1,$uname);
	$pre->bindColumn(2,$password);

	//显示读取结果
	$info=[];
	for($i=0;$row=$pre->fetch(PDO::FETCH_COLUMN);$i++)
	{
		$info[$i]=array('userName'=>$uname,'password'=>$password);
	}

	print_r($info);
	

?>
发布了252 篇原创文章 · 获赞 3 · 访问量 3281

猜你喜欢

转载自blog.csdn.net/weixin_43294560/article/details/103617601