首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >PHP pdo(配置+基本使用)

PHP pdo(配置+基本使用)

作者头像
贵哥的编程之路
发布2022-05-06 13:16:51
发布2022-05-06 13:16:51
1.5K0
举报

pdo:统一API能操作各种数据库。 开启pdo拓展。在php.ini文件里面.

重启即可.

第一种连接pdo的方式:

代码语言:javascript
复制
<?php
try
{
	$dsn="mysql:host=localhost;dbname=a";
	$username="root";
	$passwd="";
	$pdo=new PDO($dsn,$username,$passwd);//数据源:代表连接那种数据库,数据库是什么。数据库管理工具的账号+密码
	var_dump($pdo);
}catch(PDOException $e)
{
	echo $e->getMessage();//错误信息
}

第二种连接mysql的方式:url方式

代码语言:javascript
复制
<?php
try
{
	$dsn="uri:file://F:/6/htdocs/1.txt";
	$username="root";
	$passwd="";
	$pdo=new PDO($dsn,$username,$passwd);
	var_dump($pdo);
}catch(PDOException $e)
{
	echo $e->getMessage();
}

第三种形式:配置文件

代码语言:javascript
复制
<?php
try
{
	$dsn="a";
	$username="root";
	$passwd="";
	$pdo=new PDO($dsn,$username,$passwd);
	var_dump($pdo);
}catch(PDOException $e)
{
	echo $e->getMessage();
}
代码语言:javascript
复制
<?php
try
{
	$dsn="mysql:host=localhost;dbname=a";
	$username="root";
	$passwd="";
	$pdo=new PDO($dsn,$username,$passwd);//数据源:代表连接那种数据库,数据库是什么。数据库管理工具的账号+密码
	$sql=<<<EOF
		create table if not exists user(
			content varchar(30) not null
		);
EOF;
$res=$pdo->exec($sql);//执行一条sql语句,对于select没有作用
var_dump($res);
}catch(PDOException $e)
{
	echo $e->getMessage();//错误信息
}
代码语言:javascript
复制
<?php
try
{
	$dsn="mysql:host=localhost;dbname=a";
	$username="root";
	$passwd="";
	$pdo=new PDO($dsn,$username,$passwd);//数据源:代表连接那种数据库,数据库是什么。数据库管理工具的账号+密码
	$sql=<<<EOF
		create table if not exists user(
			content varchar(30) not null
		);
EOF;
$res=$pdo->exec($sql);
var_dump($res);
$sql="insert into user(content) values('king')";//插入数据
$res=$pdo->exec($sql);
var_dump($res);
}catch(PDOException $e)
{
	echo $e->getMessage();//错误信息
}
代码语言:javascript
复制
<?php
try
{
	$dsn="mysql:host=localhost;dbname=a";
	$username="root";
	$passwd="";
	$pdo=new PDO($dsn,$username,$passwd);//数据源:代表连接那种数据库,数据库是什么。数据库管理工具的账号+密码
	$sql="sqjosjosjo";//实验错误码
	$res=$pdo->exec($sql);
	
	if($res===false)
	{
		echo $pdo->errorCode();//错误码
		echo "<br />";
		print_r($pdo->errorInfo());//数组( 错误码 错误编码 错误信息)
		
		
	}
}catch(PDOException $e)
{
	echo $e->getMessage();//错误信息
}
代码语言:javascript
复制
<?php
try
{
	$dsn="mysql:host=localhost;dbname=a";
	$username="root";
	$passwd="";
	$pdo=new PDO($dsn,$username,$passwd);//数据源:代表连接那种数据库,数据库是什么。数据库管理工具的账号+密码
	$sql="select * from user";//实验错误码
	$res=$pdo->query($sql);//这个可以执行查询select
	var_dump($res);//得到一个object(PDOStatement),遍历才可以输出
	foreach($res as $row)
	{
		print_r($row);
	}
	
}catch(PDOException $e)
{
	echo $e->getMessage();//错误信息
}
代码语言:javascript
复制
<?php
try
{
	$dsn="mysql:host=localhost;dbname=a";
	$username="root";
	$passwd="";
	$pdo=new PDO($dsn,$username,$passwd);//数据源:代表连接那种数据库,数据库是什么。数据库管理工具的账号+密码
	$sql="select * from user";
	$sm=$pdo->prepare($sql);//预处理的意思是准备处理
	$res=$sm->execute();//通过这个方法处理
	$row=$sm->fetch();//得到结果的一条记录,所有记录:fetchAll()
	print_r($row);
	
}catch(PDOException $e)
{
	echo $e->getMessage();//错误信息
}
代码语言:javascript
复制
<?php
try
{
	$dsn="mysql:host=localhost;dbname=a";
	$username="root";
	$passwd="";
	$pdo=new PDO($dsn,$username,$passwd);//数据源:代表连接那种数据库,数据库是什么。数据库管理工具的账号+密码
	$sql="select * from user";
	$sm=$pdo->prepare($sql);
	$res=$sm->execute();
	if($res)//直到没有数据才停止循环
	{
		while($row=$sm->fetch())
		{
			print_r($row);
		}
	}
}catch(PDOException $e)
{
	echo $e->getMessage();//错误信息
}
代码语言:javascript
复制
<?php
try
{
	$dsn="mysql:host=localhost;dbname=a";
	$username="root";
	$passwd="";
	$pdo=new PDO($dsn,$username,$passwd);//数据源:代表连接那种数据库,数据库是什么。数据库管理工具的账号+密码
	echo "自动提交".$pdo->getAttribute(PDO::ATTR_AUTOCOMMIT);//事务默认提交是否开启
}catch(PDOException $e)
{
	echo $e->getMessage();//错误信息
}
代码语言:javascript
复制
<?php
try
{
	$dsn="mysql:host=localhost;dbname=a";
	$username="root";
	$passwd="";
	$pdo=new PDO($dsn,$username,$passwd);//数据源:代表连接那种数据库,数据库是什么。数据库管理工具的账号+密码
	echo "自动提交".$pdo->getAttribute(PDO::ATTR_AUTOCOMMIT);//事务默认提交是否开启
	echo "<br />";
	echo "pdo默认处理错误模式".$pdo->getATTribute(PDO::ATTR_ERRMODE);
	echo "<br />";
	 "禁用自动提交".$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,0);
		echo "<br />";
	echo "自动提交".$pdo->getAttribute(PDO::ATTR_AUTOCOMMIT);//事务默认提交是否开启0
}	
catch(PDOException $e)
{
	echo $e->getMessage();//错误信息
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-01,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档