PHP pdo(配置+基本使用)

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 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
相关文章
|
8月前
|
PHP
windows11 vscode 配置 php环境
windows11 vscode 配置 php环境
59 0
|
17天前
|
存储 运维 Serverless
函数计算产品使用问题之在YAML文件中配置了环境变量,但在PHP代码中无法读取到这些环境变量,是什么原因
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
1月前
|
网络协议 Unix 应用服务中间件
PHP-FPM 性能配置优化
该文介绍了PHP-FPM的性能配置优化,包括其工作原理和与Nginx的配合。FastCGI是一种提高CGI效率的协议,PHP-FPM是它的管理器。文章对比了CGI和FastCGI的区别,指出FastCGI更高效,能处理更多请求。接着讨论了php-fpm的进程数调优,包括ondemand(按需创建)、dynamic(动态创建)和static(固定数量)三种模式,以及各自适用场景和参数配置。
33 0
PHP-FPM 性能配置优化
|
1月前
|
运维 JavaScript Serverless
Serverless 应用引擎产品使用合集之php工程已经部署,可以正常访问数据库,静态资源样式无法正常加载,要怎么配置
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
Serverless 应用引擎产品使用合集之php工程已经部署,可以正常访问数据库,静态资源样式无法正常加载,要怎么配置
|
18天前
|
存储 SQL PHP
PHP中的PDO与数据库交互
PHP的PDO扩展提供了一种方式来统一访问多种数据库
|
1月前
|
Linux PHP Windows
蓝易云 - php环境变量的配置步骤
以上就是配置PHP环境变量的步骤,希望对你有所帮助。
21 0
|
1月前
|
PHP Windows
windows 安装php7.4并配置phpstorm环境
windows 安装php7.4并配置phpstorm环境
74 0
|
2月前
|
应用服务中间件 PHP nginx
php如何实现检测nginx配置的正确性
请确保在执行此操作时,PHP有足够的权限来执行Nginx命令和访问Nginx配置文件。另外,将上述代码嵌入到您的应用程序中时,要注意安全性,以防止潜在的命令注入攻击。
77 3
|
2月前
|
安全 关系型数据库 MySQL
【PHP开发专栏】PHP PDO与MySQLi操作数据库
【4月更文挑战第30天】PHP数据库交互的核心是PDO和MySQLi。PDO提供数据访问抽象层,支持多种数据库,强调安全和灵活性;MySQLi则专为MySQL设计,有面向对象和过程化接口。两者都支持预处理语句,防止SQL注入。选择取决于项目需求,如可移植性、特定功能和API偏好。了解其使用有助于编写安全高效的代码。
|
2月前
|
运维 JavaScript Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,Php环境,配置取消禁止函数exec如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
324 4