PHP pdo(配置+基本使用)

举报
陈业贵 发表于 2022/05/03 22:48:19 2022/05/03
1.5k+ 0 0
【摘要】 pdo:统一API能操作各种数据库。 开启pdo拓展。在php.ini文件里面. 重启即可. 第一种连接pdo的方式: <?php try { $dsn="mysql:host=localh...

pdo:统一API能操作各种数据库。
开启pdo拓展。在php.ini文件里面.
在这里插入图片描述
重启即可.

第一种连接pdo的方式:

<?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方式

<?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();
}

  
 

在这里插入图片描述
在这里插入图片描述
第三种形式:配置文件

<?php
try
{
	$dsn="a";
	$username="root";
	$passwd="";
	$pdo=new PDO($dsn,$username,$passwd);
	var_dump($pdo);
}catch(PDOException $e)
{
	echo $e->getMessage();
}

  
 

在这里插入图片描述
在这里插入图片描述

<?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();//错误信息
}
  
 

在这里插入图片描述

<?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();//错误信息
}

  
 

在这里插入图片描述

<?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();//错误信息
}

  
 

在这里插入图片描述

<?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();//错误信息
}

  
 

在这里插入图片描述

<?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();//错误信息
}

  
 

在这里插入图片描述

<?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();//错误信息
}

  
 

在这里插入图片描述

<?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();//错误信息
}

  
 

在这里插入图片描述

<?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();//错误信息
}
  
 

在这里插入图片描述

文章来源: blog.csdn.net,作者:贵哥的编程之路(热爱分享),版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_37805832/article/details/124530591

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。