PHP pdo(配置+基本使用)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: PHP pdo(配置+基本使用)

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



相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
缓存 监控 网络协议
在配置 PHP-FPM 的 pool 时,常见的性能优化技巧
在配置 PHP-FPM 的 pool 时,常见的性能优化技巧
|
6天前
|
SQL PHP 数据库
19 PHP如何利用PDO获取结果集
路老师在知乎上分享了关于PHP语言的知识,帮助大家入门并深入了解PHP。本文介绍了PDO中获取结果集的三种方法:`fetch()`、`fetchAll()` 和 `fetchColumn()`,并通过具体案例展示了如何使用这些方法从数据库中获取数据并展示在网页上。
20 8
|
5天前
|
监控 PHP Apache
优化 PHP-FPM 参数配置:实现服务器性能提升
优化PHP-FPM的参数配置可以显著提高服务器的性能和稳定性。通过合理设置 `pm.max_children`、`pm.start_servers`、`pm.min_spare_servers`、`pm.max_spare_servers`和 `pm.max_requests`等参数,并结合监控和调优措施,可以有效应对高并发和负载波动,确保Web应用程序的高效运行。希望本文提供的优化建议和配置示例能够帮助您实现服务器性能的提升。
22 3
|
5月前
|
存储 运维 Serverless
函数计算产品使用问题之在YAML文件中配置了环境变量,但在PHP代码中无法读取到这些环境变量,是什么原因
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
关系型数据库 MySQL PHP
php wampserver的使用配置
本文介绍了WampServer在Windows系统下的配置和使用方法,包括如何修改PHP时区为中国标准时区PRC、更改Apache服务器端口号以避免冲突、设置起始页以及如何创建和管理虚拟目录。通过这些步骤,用户可以更有效地在本地环境中开发和测试PHP程序。
php wampserver的使用配置
|
2月前
|
Unix PHP
PHP-FPM 配置
PHP-FPM 配置
|
2月前
|
IDE 安全 网络安全
Xdebug 在不同版本的 PHP 中配置方法有什么不同?
Xdebug 在不同版本的 PHP 中配置方法有什么不同?
169 4
|
2月前
|
SQL 关系型数据库 数据库连接
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
本文介绍了PHP中PDO(PHP Data Objects)扩展的基本概念和使用方法。内容包括PDO类和PDOStatement类的介绍,PDO的简单使用,预定义占位符的使用方法,以及PDOStatement对象的使用。文章还讨论了绑定预定义占位符参数的不同形式,即bindValue和bindParam的区别。通过具体示例,展示了如何使用PDO进行数据库连接、数据查询、数据插入等操作。
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
|
2月前
|
监控 IDE PHP
php xdebug的配置、调试、跟踪、调优、分析
php xdebug的配置、调试、跟踪、调优、分析
|
1月前
|
缓存 NoSQL 数据处理
原生php实现redis缓存配置和使用方法
通过上述步骤,你可以在PHP项目中配置并使用Redis作为高性能的缓存解决方案。合理利用Redis的各种数据结构和特性,可以有效提升应用的响应速度和数据处理效率。记得在实际应用中根据具体需求选择合适的缓存策略,如设置合理的过期时间,以避免内存过度消耗。
50 0