PHP中PDO的基本操作二

本文介绍了一个PDO数据库操作的封装方法,包括连接数据库、执行写入和读取操作,以及获取自增ID。通过实例演示了如何使用这些封装方法进行数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  在介绍完pdo的基本操作之后,我们利用封装连接和读写操作,实现对数据库的读写操作。

  下面是封装方法 function.php

<?php 
	//pdo对象初始化
	function init(){
		$pdo = @new pdo('mysql:host=localhost;port=3306;dbname=test','root','123456');

		//错误处理
		if(!$pdo){
			die('连接认证失败');
		}

		//设置字符集
		$res = $pdo->exec('set names utf8');
		//echo $res;

		if($res === false){
			echo '设置字符集失败';
			echo '<br />';
			echo $pdo->errorCode();
			echo '<br />';
			echo $pdo->errorInfo()[2];
			exit();
		}

		//返回pdo对象
		return $pdo;
	}

	//pdo写操作
	function pdo_exec($pdo,$sql){
		//写
		$res = $pdo->exec($sql);

		if($res === false){
			echo 'sql执行错误';
			echo '<br />';
			echo $pdo->errorCode();
			echo '<br />';
			echo $pdo->errorInfo()[2];
			exit();
		}

		return $res;

	}


	//获取自增id
	function pdo_id($pdo){
		return $pdo->lastInsertId();
	}

	//读操作
	function pdo_query($pdo,$sql){
		//执行读操作
		$stem = $pdo->query($sql);

		if($stem === false){
			echo 'sql执行错误';
			echo '<br />';
			echo $pdo->errorCode();
			echo '<br />';
			echo $pdo->errorInfo()[2];
			exit();
		}

		//将获取到的pdoStatement对象返回
		return $stem;
	}

	//获取到读操作结果,默认获取全部结果
	function get($stem,$all = true){

		if($all){
			$res = $stem->fetchAll(PDO::FETCH_ASSOC);
		}
		else{
			$res = $stem->fetch(PDO::FETCH_ASSOC);
		}

		return $res;
	}

 ?>

  以上封装方法中,我们实现了pdo连接数据库,写操作以及读操作。

  接下来我们通过调用封装方法来测试一下,测试脚本 operate.php。

<?php 
include_once 'function.php';

//pdo初始化
$pdo = init();

//写操作
$sql_write = "INSERT INTO test(`char`) VALUES(20)";
//echo $sql;die;
$res_write = pdo_exec($pdo,$sql_write);

//获取自增id
echo '自增id ' . pdo_id($pdo);

//读操作
$sql_read = 'select * from test';
$stem = pdo_query($pdo,$sql_read);

//获取读操作结果
$res_read = get($stem);
echo '<pre>';
var_dump($res_read);

 ?>

  我们运行测试脚本,来看一下测试结果,浏览器输出结果。

  我们看到,我们成功进行了写操作和读操作,以及写操作后的自增id和读操作结果(默认获取全部)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值