목차
PHP 认识PDO数据库抽象层,phppdo数据库抽象
PHP中的PDO模块
php pdo怎操作数据库
php教程 php手册 PHP 认识PDO数据库抽象层,phppdo数据库抽象

PHP 认识PDO数据库抽象层,phppdo数据库抽象

Jun 13, 2016 am 09:24 AM
pdo

PHP 认识PDO数据库抽象层,phppdo数据库抽象

PDO全称是PHP Data Object(PHP数据对象),是PHP连接数据库中的一个扩展,目前得到普遍使用。PDO主要解决的问题是为不同的数据库提供一个统一的数据访问接口和操作层。为实现系统在跨数据库平台的开发及迁移等问题上提供了较好的解决方案。PDO 对象的获取
在PDO中,要建立与数据库的连接需要实例化PDO的构造函数。PDO构造函数语法如下:
PDO::__construct ( string $dsn [, string $username [, string $password [, array $driver_options ]]] )
通过PDO构造函数来连接数据库:

<span> 1</span> <?<span>php
</span><span> 2</span> <span>$dbms</span> = 'mysql'<span>;
</span><span> 3</span> <span>$dbName</span> = 'dormitory'<span>;
</span><span> 4</span> <span>$host</span> = 'localhost'<span>;
</span><span> 5</span> <span>$user</span> = 'root'<span>;
</span><span> 6</span> <span>$pwd</span> = ''<span>;
</span><span> 7</span> <span>$dsn</span> = "<span>$dbms</span>:host=<span>$host</span>;dbname=<span>$dbName</span>"<span>;
</span><span> 8</span> <span>try</span><span> {
</span><span> 9</span>     <span>$pdo</span> = <span>new</span> PDO(<span>$dsn</span>, <span>$user</span>, <span>$pwd</span><span>);
</span><span>10</span>     <span>echo</span> '连接成功!'<span>;
</span><span>11</span> } <span>catch</span> (<span>Exception</span> <span>$e</span><span>) {
</span><span>12</span>     <span>echo</span> <span>$e</span>->getMessage() . "<br>"<span>;
</span><span>13</span> <span>}
</span><span>14</span> ?>
로그인 후 복사

3种方法执行sql语句
执行sql语句的方法有:exec(),query(),prepare()+execute()。
1、exec()方法用于执行input,delete,update语句,返回值为受影响的行数;
2、query()方法用于执行select语句,返回值为一个二位数组;
3、预处理语句prepare()+execute(),可以用于执行input,delete,update,select语句,
可以把预处理语句看成想要运行的SQL的一种编译过的模板,他可以使用变量参数进行定制,做到查询时只需解析一次就可以执行多次;
如果应用程序只使用预处理语句,可以确保不会发生SQL注入。
PDO::prepare()返回值为一个PDOStatement对象,对象的内容为prepare()方法里面的参数;
PDO::execute(),检查sql是否可执行,返回值为一个boolean类型。
从预处理语句的返回值也可以看出,他并没有真正的执行sql语句,而是检查sql的正确性,准备好执行的状态,等到需要用到结果集的时候再执行。

<span> 1</span> <?<span>php
</span><span> 2</span>             <span>include_once</span> './pdo_db_conn.php'<span>;
</span><span> 3</span>             <span>try</span><span> {
</span><span> 4</span>                 <span>$query</span> = "select * from building"<span>;
</span><span> 5</span> <span>//</span><span>                $result = $pdo->query($query);//结果为一个二维数组</span>
<span> 6</span>                 <span>$result</span> = <span>$pdo</span>->prepare(<span>$query</span><span>);
</span><span> 7</span>                 <span>var_dump</span>(<span>$result</span><span>);
</span><span> 8</span>                 <span>$flag</span> = <span>$result</span>-><span>execute();
</span><span> 9</span>                 <span>var_dump</span>(<span>$flag</span><span>);
</span><span>10</span>             } <span>catch</span> (<span>Exception</span> <span>$e</span><span>) {
</span><span>11</span>                 <span>echo</span> <span>$e</span>-><span>getMessage();
</span><span>12</span> <span>            }
</span><span>13</span>             ?>
로그인 후 복사

返回值:

object(PDOStatement)[2]
  public 'queryString' => string 'select * from building' (length=22)

boolean true

3种方法获取结果集
获取结果集的方法有fetch(),fetchAll(),fetchColumn();
fetch()方法获取结果集中的下一行,是一个数组;
fetchAll()方法获取结果集中的所有行,是一个数组;
fetchColumn()方法获取结果集中下一行指定的列的值。
三个方法的调用对象类型为PDOStatement对象类型,一般是在预处理语句之后执行

3种方法捕获sql语句中的错误的方式
当执行sql语句出现错误是,可以根据设置的错误提示方式,来决定显示错误的方法。
错误提示方式有:
1、PDO::ERRMODE_SILENT
默认方式,出现错误时程序继续执行,无错误提示。
2、PDO::ERRMODE_WARNING
出现错误时会继续执行,错误的部分会提示警告信息。
3、PDO::ERRMODE_EXCEPTION
出现错误时不会继续执行,错误的部分会提示异常信息。

2种方法获取程序错误信息
当执行sql语句出现错误是(访问数据库部分,对结果集的遍历错误不会提示),可以通过errorCode(),errorInfo()两个方法在后台输出错误信息,当sql语句是通过预编译执行的,这两个方法不适用。当在程序中调用errorCode()方法后,返回值为00000(5个0)时,表示程序没有错误,但返回其他5个字符时,表示程序是有错误的,这时可以通过调用errorInfo()方法来查看具体错误的信息。

PHP中的PDO模块

这个跟PHP的版本有一点点关系的。比如,PHP5.2要开启php_pdo.dll和php_pdo_mysql.dll两个,php5.4则只需要开启php_pdo_mysql.dll这一个就行了
 

php pdo怎操作数据库

$s_sql = select username,password from t_table where username=? and password=?;
$sth = $dbh->prepare($s_sql);
$result = $sth->execute(array($username,$password));
$result = $sth->fetchAll();//如果不存在返回的是空的数组,如果存在就是用户名+密码
 

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 메소드 PDO::prepare() 호출 PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 메소드 PDO::prepare() 호출 Jun 22, 2023 pm 06:40 PM

PHP는 오랫동안 사용되어 온 인기 있는 웹 개발 언어입니다. PHP에 통합된 PDO(PHP 데이터 개체) 클래스는 웹 애플리케이션 개발 중에 데이터베이스와 상호 작용하는 일반적인 방법입니다. 그러나 일부 PHP 개발자가 자주 직면하는 문제는 PDO 클래스를 사용하여 데이터베이스와 상호 작용할 때 다음과 같은 오류가 발생한다는 것입니다. PHPFatalerror:CalltoundefinemethodPDO::prep

PHP의 PDO_PGSQL 확장을 사용하는 방법은 무엇입니까? PHP의 PDO_PGSQL 확장을 사용하는 방법은 무엇입니까? Jun 02, 2023 pm 06:10 PM

널리 사용되는 프로그래밍 언어인 PHP는 웹 개발 분야에서 널리 사용됩니다. 그 중 PHP의 PDO_PGSQL 확장은 일반적으로 사용되는 PHP 확장으로 PostgreSQL 데이터베이스와의 대화형 인터페이스를 제공하며 PHP와 PostgreSQL 간의 데이터 전송 및 상호 작용을 실현할 수 있습니다. 이 기사에서는 PHP의 PDO_PGSQL 확장 기능을 사용하는 방법을 자세히 소개합니다. 1. PDO_PGSQL 확장이란 무엇입니까? PDO_PGSQL은 PHP의 확장 라이브러리입니다.

PHP 및 PDO: 대량 삽입 및 업데이트를 수행하는 방법 PHP 및 PDO: 대량 삽입 및 업데이트를 수행하는 방법 Jul 28, 2023 pm 07:41 PM

PHP 및 PDO: 일괄 삽입 및 업데이트를 수행하는 방법 소개: PHP를 사용하여 데이터베이스 관련 애플리케이션을 작성할 때 데이터를 일괄 삽입하고 업데이트해야 하는 상황에 자주 직면하게 됩니다. 전통적인 접근 방식은 루프를 사용하여 여러 데이터베이스 작업을 수행하는 것이지만 이 방법은 비효율적입니다. PHP의 PDO(PHPDataObject)는 일괄 삽입 및 업데이트 작업을 수행하는 보다 효율적인 방법을 제공합니다. 이 기사에서는 PDO를 사용하여 일괄 삽입 및 업데이트 작업을 구현하는 방법을 소개합니다. 1. PDO 소개: PDO는 PH입니다.

PHP PDO 대 mysqli: 비교 및 ​​대조 PHP PDO 대 mysqli: 비교 및 ​​대조 Feb 19, 2024 pm 12:24 PM

PDOPDO는 PHP용 통합 인터페이스를 제공하는 객체 지향 데이터베이스 액세스 추상화 계층으로, 동일한 코드를 사용하여 다양한 데이터베이스(예: Mysql, postgresql, oracle)와 상호 작용할 수 있습니다. PDO는 기본 데이터베이스 연결의 복잡성을 숨기고 데이터베이스 작업을 단순화합니다. 장점과 단점 장점: 통합 인터페이스, 다중 데이터베이스 지원, 데이터베이스 작업 단순화, 개발 어려움 감소, 준비된 명령문 제공, 보안 향상, 트랜잭션 처리 지원 단점: 성능이 기본 확장보다 약간 낮을 수 있고, 외부 라이브러리에 의존하며, 오버헤드가 증가할 수 있습니다. 데모 코드는 PDO를 사용하여 mysql 데이터베이스에 연결합니다: $db=newPDO("mysql:host=localhost;dbnam

PHP 및 PDO: 데이터베이스에서 JSON 데이터를 처리하는 방법 PHP 및 PDO: 데이터베이스에서 JSON 데이터를 처리하는 방법 Jul 29, 2023 pm 05:17 PM

PHP 및 PDO: 데이터베이스에서 JSON 데이터를 처리하는 방법 현대 웹 개발에서 대량의 데이터를 처리하고 저장하는 것은 매우 중요한 작업입니다. 모바일 애플리케이션과 클라우드 컴퓨팅의 인기로 인해 점점 더 많은 데이터가 JSON(JavaScript Object Notation) 형식으로 데이터베이스에 저장됩니다. 일반적으로 사용되는 서버측 언어인 PHP의 PDO(PHPDataObject) 확장은 데이터베이스를 처리하고 운영하는 편리한 방법을 제공합니다. 책

PHP 및 PDO: 페이징 쿼리를 수행하고 데이터를 표시하는 방법 PHP 및 PDO: 페이징 쿼리를 수행하고 데이터를 표시하는 방법 Jul 29, 2023 pm 04:10 PM

PHP 및 PDO: 페이지에서 데이터를 쿼리하고 표시하는 방법 웹 애플리케이션을 개발할 때 페이지에서 데이터를 쿼리하고 표시하는 것은 매우 일반적인 요구 사항입니다. 페이징을 통해 한 번에 일정량의 데이터를 표시할 수 있어 페이지 로딩 속도와 사용자 경험이 향상됩니다. PHP에서는 PDO(PHP Data Object) 라이브러리를 사용하여 페이징 쿼리 및 데이터 표시 기능을 쉽게 구현할 수 있습니다. 이 기사에서는 PHP에서 PDO를 사용하여 페이지별로 데이터를 쿼리하고 표시하는 방법을 소개하고 해당 코드 예제를 제공합니다. 1. 데이터베이스 및 데이터 테이블 생성

PDO를 사용하여 Redis 데이터베이스에 연결하는 방법 PDO를 사용하여 Redis 데이터베이스에 연결하는 방법 Jul 28, 2023 pm 04:29 PM

PDO를 사용하여 Redis 데이터베이스에 연결하는 방법 Redis는 캐시, 대기열 및 기타 시나리오에서 일반적으로 사용되는 고성능 오픈 소스 인메모리 스토리지 키-값 데이터베이스입니다. PHP 개발에서 Redis를 사용하면 애플리케이션의 성능과 안정성을 효과적으로 향상시킬 수 있습니다. PDO(PHPDataObjects) 확장을 통해 Redis 데이터베이스를 보다 편리하게 연결하고 운영할 수 있습니다. 이 문서에서는 코드 예제와 함께 PDO를 사용하여 Redis 데이터베이스에 연결하는 방법을 설명합니다. 처음에 Redis 확장을 설치하십시오.

PHP 및 PDO: 데이터베이스에서 전체 텍스트 검색을 수행하는 방법 PHP 및 PDO: 데이터베이스에서 전체 텍스트 검색을 수행하는 방법 Jul 30, 2023 pm 04:33 PM

PHP 및 PDO: 데이터베이스에서 전체 텍스트 검색을 수행하는 방법 최신 웹 애플리케이션에서 데이터베이스는 매우 중요한 구성 요소입니다. 전체 텍스트 검색은 대량의 데이터에서 특정 정보를 검색해야 할 때 매우 유용한 기능입니다. PHP 및 PDO(PHPDataObjects)는 데이터베이스에서 전체 텍스트 검색을 수행하는 간단하면서도 강력한 방법을 제공합니다. 이 기사에서는 PHP와 PDO를 사용하여 전체 텍스트 검색을 구현하는 방법을 소개하고 프로세스를 시연하는 몇 가지 샘플 코드를 제공합니다. 첫 번째

See all articles