PDO--PHPDataObjects

Jun 07, 2016 pm 03:56 PM
pdo 環境 構成

PDO的环境配置:开启支持PDO 在php.ini配置文件中开启:extension=php_pdo.dllextension=php_pdo_mysql.dll在PDO操作中涉及到类:PDO、PDOStatement(预处理对象)、PDOException(异常类)一、 PDO类的构造方法:-------------------------------------------

PDO的环境配置:开启支持PDO 在php.ini配置文件中开启:
	extension=php_pdo.dll
	extension=php_pdo_mysql.dll
				
	在PDO操作中涉及到类:PDO、PDOStatement(预处理对象)、PDOException(异常类)

一、 PDO类的构造方法:
---------------------------------------------------------
  PDO __construct( string dsn 
		[, string username 
		[, string password 
		[, array driver_options]]] );
 其中:dsn数据库连接信息如“mysql:host=localhost;dbname=库名”
	  dsn的格式:”驱动名:host=主机名;dbname=库名“
      username:用户名
      password:密码
      driver_options:配置选项:
      如: PDO::ATTR_PERSISTENT=>true,是否开启持久链接
	   *PDO::ATTR_ERRMODE=>错误处理模式:(可以是以下三个)(3)
		PDO::ERRMODE_SILENT:不报错误(忽略)(0)
		PDO::ERRMODE_WARNING:以警告的方式报错(1)
		*PDO::ERRMODE_EXCEPTION:以异常的方式报错(推荐使用)。(2)

$pdo =  new PDO("mysql:host=localhost;dbname=lamp36db","root","root");
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
其他方法:
--------------------------------------------------------
1. query($sql); 用于执行查询SQL语句。返回PDOStatement对象
2. exec($sql);  用于执行增、删、改操作,返回影响行数;
3. getAttribute(); 获取一个"数据库连接对象"属性。
4. setAttribute(); 设置一个"数据库连接对象"属性。
5. beginTransaction 开启一个事物(做一个回滚点)
6. commit	提交事务
7. rollBack	事务回滚操作。 
8. errorCode	获取错误码   
9. errorInfo	获取错误信息   
10.lastInsertId  获取刚刚添加的主键值。
11.prepare	创建SQL的预处理,返回PDOStatement对象
12.quote	为sql字串添加单引号。


预处理对象PDOStatement对象:
=============================================
我们可以通过PDO的方法来获取PDOStatement:
 1.PDO的query(查询sql)方法获取,用于解析结果集
 2.PDO的prepare(SQL)方法获取,用于处理参数式sql并执行操作。

PDOstatement对象的方法:
----------------------------------------------------------------
1、fetch() 返回结果集的下一行,结果指针下移,到头返回false 。
  	参数: 	PDO::FETCH_BOTH (default)、:索引加关联数组模式
	       	PDO::FETCH_ASSOC、	   :关联数组模式
 	       	PDO::FETCH_NUM、		   :索引数组模式
			PDO::FETCH_OBJ、		   :对象模式
			PDO::FETCH_LAZY		   :所有模式(SQL语句和对象)
			
2、fetchAll() 通过一次调用返回所有结果,结果是以数组形式保存
      	参数:PDO::FETCH_BOTH (default)、
		PDO::FETCH_ASSOC、
		PDO::FETCH_NUM、
		PDO::FETCH_OBJ、
		PDO::FETCH_COLUMN表示取指定某一列,
		如:$rslist = $stmt->fetchAll(PDO::FETCH_COLUMN,2);取第三列
3、execute() 	负责执行一个准备好了的预处理语句 
4. fetchColumn()返回结果集中下一行某个列的值
5. setFetchMode()设置需要结果集合的类型
6. rowCount()  	返回使用增、删、改、查操作语句后受影响的行总数
7. setAttribute()为一个预处理语句设置属性
8. getAttribute()获取一个声明的属性
9. errorCode() 	获取错误码
10. errorInfo() 获取错误信息
11. bindParam() 将参数绑定到相应的查询占位符上
    bool PDOStatement::bindParam ( mixed $parameter , mixed &$variable [, int $data_type [, int $length [, mixed $driver_options ]]] ) 其中: $parameter:占位符名或索引偏移量 &$variable:参数的值,需要按引用传递也就是必须放一个变量
    其中参数:$data_type:数据类型PDO::PARAM_BOOL/PDO::PARAM_NULL/PDO::PARAM_INT/PDO::PARAM_STR/
  	 				  PDO::PARAM_LOB/PDO::PARAM_STMT/PDO::PARAM_INPUT_OUTPUT
         $length:指数据类型的长度 $driver_options:驱动选项。
12. bindColumn() 用来匹配列名和一个指定的变量名,这样每次获取各行记录时,会自动将相应的值赋给变量。
13. bindValue() 将一值绑定到对应的一个参数中
14. nextRowset() 检查下一行集
15. columnCount() 在结果集中返回列的数目
16. getColumnMeta() 在结果集中返回某一列的属性信息
17. closeCursor() 关闭游标,使该声明再次执行


在PDO中参数式的SQL语句有两种(预处理sql):
   1.insert into stu(id,name) value(?,?);	//?号式(适合参数少的)		
   2.insert into stu(id,name) value(:id,:name);		// 别名式(适合参数多的)
在PDO中为参数式SQL语句赋值有三种:
   1.使用数组 
	 $stmt->execute(array("lamp1404","qq2"));
 	 $stmt->execute(array("id"=>"lamp1404","name"=>"qq2"));	
   2.使用方法单个赋值
	 $stmt->bindValue(1,"lamp1901");	
	 $stmt->bindValue(2,"qq2");
	 $stmt->execute();

	 $stmt->bindValue(":id","lamp1901",PDO::PARAM_STR);	 //带指定类型
	 $stmt->bindValue(":name","qq2",PDO::PARAM_STR);
	 $stmt->execute();
	 
   3. 使用方法绑定变量
	 $stmt->bindParam(":id",$id);		
	 $stmt->bindParam(":name",$name);
	 $id="lamp1401";
	 $name="qq2";
     $stmt->execute();
	 
事务处理
-----------------------------------------------	
	事务:将多条sql操作(增删改)作为一个操作单元,要么都成功,要么都失败。(如果一次插入多条数据,一条执行失败,数据回滚,全部删除)-----
	
4.  PDO对事务的支持
		第一:被操作的表必须是innoDB类型的表(支持事务)
			MySQL常用的表类型:MyISAM(非事务)增删改速度快、InnodB(事务型)安全性高
			//更改表的类型为innoDB类型
			mysql> alter table stu engine=innodb;
				Query OK, 29 rows affected (0.34 sec)
				Records: 29  Duplicates: 0  Warnings: 0
			//查看表结构
			mysql> show create table stu\G;   
			   
		第二:使用PDO就可以操作数据库了
				使用到了PDO中的方法:
					beginTransaction 开启一个事物(做一个回滚点)
					commit		提交事务
					rollBack	事务回滚操作。 
		
		使用情况:当做多条sql语句处理时(增删改),要求是都必须成功。
ログイン後にコピー


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

LinuxシステムにおけるGDMの動作原理と設定方法 LinuxシステムにおけるGDMの動作原理と設定方法 Mar 01, 2024 pm 06:36 PM

タイトル: Linux システムにおける GDM の動作原理と構成方法 Linux オペレーティング システムでは、GDM (GNOMEDisplayManager) は、グラフィカル ユーザー インターフェイス (GUI) ログインとユーザー セッション管理を制御するために使用される一般的なディスプレイ マネージャーです。この記事では、GDM の動作原理と構成方法を紹介し、具体的なコード例を示します。 1. GDM の動作原理 GDM は GNOME デスクトップ環境のディスプレイ マネージャーであり、X サーバーの起動とログイン インターフェイスの提供を担当します。

PyCharm と PyTorch の完璧な組み合わせ: 詳細なインストールと構成手順 PyCharm と PyTorch の完璧な組み合わせ: 詳細なインストールと構成手順 Feb 21, 2024 pm 12:00 PM

PyCharm は強力な統合開発環境 (IDE) であり、PyTorch はディープ ラーニングの分野で人気のあるオープン ソース フレームワークです。機械学習とディープラーニングの分野では、開発に PyCharm と PyTorch を使用すると、開発効率とコード品質が大幅に向上します。この記事では、PyCharm に PyTorch をインストールして構成する方法を詳しく紹介し、読者がこれら 2 つの強力な機能をより効果的に活用できるように、具体的なコード例を添付します。ステップ 1: PyCharm と Python をインストールする

Linux Bashrc の機能、構成、使用法を理解する Linux Bashrc の機能、構成、使用法を理解する Mar 20, 2024 pm 03:30 PM

Linux Bashrc について: 機能、構成、および使用法 Linux システムでは、Bashrc (BourneAgainShellrunco​​mmands) は非常に重要な構成ファイルであり、システムの起動時に自動的に実行されるさまざまなコマンドと設定が含まれています。 Bashrc ファイルは通常、ユーザーのホーム ディレクトリにある隠しファイルであり、その機能はユーザーの Bashshell 環境をカスタマイズすることです。 1. Bashrc関数の設定環境

MyBatis Generator 設定パラメータの解釈とベスト プラクティス MyBatis Generator 設定パラメータの解釈とベスト プラクティス Feb 23, 2024 am 09:51 AM

MyBatisGenerator は、MyBatis が公式に提供するコード生成ツールで、開発者がデータベース テーブル構造に準拠した JavaBeans、Mapper インターフェイス、および XML マッピング ファイルを迅速に生成するのに役立ちます。コード生成に MyBatisGenerator を使用するプロセスでは、構成パラメーターの設定が重要です。この記事では、構成パラメータの観点から開始し、MyBatisGenerator の機能を詳しく説明します。

win11システムでワークグループを構成する方法 win11システムでワークグループを構成する方法 Feb 22, 2024 pm 09:50 PM

Win11 でワークグループを構成する方法 ワークグループは、ローカル エリア ネットワークで複数のコンピューターを接続する方法であり、ファイル、プリンター、その他のリソースをコンピューター間で共有できるようになります。 Win11 システムでは、ワークグループの構成は非常に簡単で、次の手順に従うだけです。ステップ 1: 「設定」アプリケーションを開く まず、Win11 システムの「スタート」ボタンをクリックし、ポップアップ メニューで「設定」アプリケーションを選択します。ショートカット「Win+I」を使用して「設定」を開くこともできます。ステップ 2: [システム] を選択します 設定アプリには、複数のオプションが表示されます。 「システム」オプションをクリックしてシステム設定ページに入ってください。ステップ 3: [バージョン情報] を選択します。 [システム] 設定ページには、複数のサブオプションが表示されます。クリックしてください

Flask のインストールと構成のチュートリアル: Python Web アプリケーションを簡単に構築するツール Flask のインストールと構成のチュートリアル: Python Web アプリケーションを簡単に構築するツール Feb 20, 2024 pm 11:12 PM

Flask のインストールと構成チュートリアル: Python Web アプリケーションを簡単に構築するためのツール、特定のコード サンプルが必要です はじめに: Python の人気が高まるにつれ、Web 開発は Python プログラマーにとって必要なスキルの 1 つになりました。 Python で Web 開発を実行するには、適切な Web フレームワークを選択する必要があります。数ある Python Web フレームワークの中でも、Flask はシンプルで使いやすく柔軟なフレームワークとして開発者に好まれています。この記事ではFlaskフレームワークのインストールについて紹介します。

Linux システムで FTPS を構成してインストールする方法 Linux システムで FTPS を構成してインストールする方法 Mar 20, 2024 pm 02:03 PM

タイトル: Linux システムで FTPS を構成およびインストールする方法、具体的なコード例が必要です。Linux システムでは、FTPS は安全なファイル転送プロトコルです。FTP と比較して、FTPS は TLS/SSL プロトコルを通じて送信データを暗号化し、データのセキュリティを向上させます。伝染 ; 感染。この記事では、Linux システムに FTPS を構成およびインストールする方法を紹介し、具体的なコード例を示します。ステップ 1: vsftpd をインストールする ターミナルを開き、次のコマンドを入力して vsftpd をインストールします: sudo

PHP は、前の MySQL 操作でのエラー メッセージの数値エンコーディングを返します。 PHP は、前の MySQL 操作でのエラー メッセージの数値エンコーディングを返します。 Mar 22, 2024 pm 12:31 PM

この記事では、前回の Mysql 操作で PHP から返されたエラー メッセージの数値エンコードについて詳しく説明します。編集者が非常に実用的であると考えたので、参考として共有します。この記事を読んで何かを得ることができれば幸いです. . PHP を使用して MySQL エラー情報を返す 数値エンコーディング はじめに mysql クエリを処理するときにエラーが発生する場合があります。これらのエラーを効果的に処理するには、エラー メッセージの数値エンコーディングを理解することが重要です。この記事では、php を使用して Mysql エラー メッセージの数値エンコーディングを取得する方法を説明します。エラー情報の数値エンコードを取得する方法 1. mysqli_errno() mysqli_errno() 関数は、現在の MySQL 接続の最新のエラー番号を返します。構文は次のとおりです: $erro

See all articles