この記事には PDO のインストールは含まれませんが、PDO の使用法を単に要約するだけです。
最初の PDO アプリケーションの構築を開始し、Web ドキュメント ディレクトリに pdo.php ファイルを作成します。
[php]
$dsn = "mysql:host=localhost;dbname=test";
$db = 新しい PDO($dsn, 'root', '');
$count = $db->exec("INSERT INTO foo SET name = 'lix',gender='mail',time=NOW()");
エコー $カウント
$db = null
?>
$dsn = "mysql:host=localhost;dbname=test";
DSN (データ ソース) の構築に使用されます。内部の情報には、データベースの種類が mysql、ホスト アドレスが localhost、データベース名が test が含まれます。それだけです。データベースごとにデータソースの構築方法が異なります。
$db = 新しい PDO($dsn, 'root', '');
PDO オブジェクトを初期化します。コンストラクターの最初のパラメーターはデータ ソース、2 番目のパラメーターはデータベース サーバーに接続するユーザー、3 番目のパラメーターはパスワードです。
エコー $count;
正常に接続された PDO オブジェクトを呼び出してクエリを実行します。このクエリは、PDO::exec() メソッドを使用すると、レコードに影響する結果を返します。最後に、オブジェクト リソースを終了する必要があります:
デフォルトでは、これは長い接続ではありません。データベースへの長い接続が必要な場合は、array(PDO::ATTR_PERSISTENT => true) のように最後にパラメーターを追加する必要があります。
$db = 新しい PDO($dsn, 'root', '', array(PDO::ATTR_PERSISTENT => true));
データを取得したい場合
[php]
$rs=$db->query("SELECT * FROM foo");
foreach($rs->fetch() as $row){
?>
も使えます
[php]
$rs = $db->query("SELECT * FROM foo");
while($row = $rs->fetch()){
print_r($row);
}
?>
すべてのデータを一度に取得します
[php]
$rs = $db->query("SELECT * FROM foo");
$result_arr = $rs->fetchAll();
print_r($result_arr);
?>
結果は次のようになります:
[php]
配列
(
(
[ID] = > 1
[0] => 1
[名前] = & gt;
[1] =>
[性別] = >
[2] => 男性
[時間] = & gt; 2006-10-28 23:14:23
[3] => 2006-10-28 23:14:23
)
}
[php]
$db->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
$rs = $db->query("SELECT * FROM foo");
$rs->setFetchMode(PDO::FETCH_ASSOC);
$result_arr = $rs->fetchAll();
print_r($result_arr);
?>
setAttribute() メソッドは、PDO 属性を設定します。主な属性は、PDO::ATTR_CASE、PDO::ATTR_ERRMODE などです。ここで設定する必要があるのは、PDO::ATTR_CASE、つまり、関連するインデックスを使用する場合です。データセットを取得します。関連付けられたインデックスは大文字または小文字です。いくつかのオプションがあります:
PDO::CASE_LOWER -- 列名を強制的に小文字にする
PDO::CASE_NATURAL -- 列名はオリジナルの方法です
PDO::CASE_UPPER -- 列名を強制的に大文字にする
setFetchMode メソッドを使用して、結果セットを取得するための戻り値のタイプを設定します。同じタイプは次のとおりです。
PDO::FETCH_ASSOC -- 連想配列形式
PDO::FETCH_NUM -- 数値インデックス配列形式
PDO::FETCH_BOTH -- どちらも配列形式で使用でき、これがデフォルトです
PDO::FETCH_OBJ -- 前の mysql_fetch_object() と同様のオブジェクトの形式
もちろん、一般的には PDO::FETCH_ASSOC を使用します。具体的に何を使用するかは、必要に応じて異なります。他の取得タイプについては、マニュアルを参照してください。
上記のデータ取得方法に加えて、次のこともできます:
[php]
$rs = $db->prepare("SELECT * FROM foo");
$rs->execute();
while($row = $rs->fetch()){
print_r($row);
}
?>
指定したレコードのフィールドの結果を取得したい場合は、PDOStatement::fetchColumn():
を使用できます。
[php]
$rs = $db->query("SELECT COUNT(*) FROM foo");
$col = $rs->fetchColumn();
エコー $col
?>
概要:
クエリ操作は主に PDO::query()、PDO::exec()、PDO::prepare() です。 PDO::query() は主に、記録された結果を返す操作、特に SELECT 操作に使用されます。PDO::exec() は主に、INSERT、UPDATE、DELETE などの結果セットを返さない操作に使用されます。結果は、現在の操作によって影響を受ける列の数を返します。 PDO::prepare() は主に前処理操作です。前処理で SQL ステートメントを実行するには $rs->execute() を使用する必要があります。このメソッドはパラメータをバインドすることができ、これだけでは説明できません。マニュアルやその他のドキュメントを参照できます。
結果セットを取得するための主な操作は、PDOStatement::fetchColumn()、PDOStatement::fetch()、PDOStatement::fetchALL() です。 PDOStatement::fetchColumn() は、フェッチ結果で指定された最初のレコードのフィールドです。デフォルトは最初のフィールドです。 PDOStatement::fetch() はレコードを取得するために使用され、PDOStatement::fetchAll() はすべてのレコード セットを 1 つに取得するために使用されます。結果を取得するには、PDOStatement::setFetchMode を通じて必要な結果セットのタイプを設定します。 。
【エラー処理】
1. オブジェクト指向のアプローチまず、オブジェクト指向のアプローチを使用して接続エラーなどに対処する方法を見てみましょう:
[php]
試してみてください{
$db = 新しい PDO('mysql:host=localhost;dbname=test', $user, $pass);
$db = null
"エラー: " . $e->getMessage() "
";
死ぬ();
}
?>
ここでは、PHP 5 のオブジェクト指向例外処理機能を使用します。例外が発生した場合、PDOException が初期化されて例外クラスが初期化されます。
PDOException例外クラスの属性構造:
[php]
クラス PDOException は例外を拡張します
{
Public $errorInfo = null; // エラー情報には PDO::errorInfo() または PDOStatement::errorInfo() を呼び出すことでアクセスできます
Protected $message; // 例外情報。Exception::getMessage() を使用してアクセスできます
Protected $code; // SQL ステータス エラー コード。Exception::getCode() を使用して
にアクセスできます。
}
?>
PHP 5 の組み込み例外処理クラス構造を簡単に見てみましょう:
[php]
クラス例外
{
// プロパティ
Protected $message = '不明な例外' // 例外メッセージ
;
protected $code = 0 // ユーザー定義の例外コード
;
保護された $file;
保護された $line;
// メソッド
最終関数 getMessage(); // 例外メッセージを返す
最終関数 getCode(); // 例外コードを返す
Final function getFile(); // 例外が発生したファイル名を返します
Final function getLine(); // 例外が発生したコード行番号を返します
最終関数 getTrace() // backtrace() 配列
Final function getTraceAsString(); // 文字列にフォーマットされた getTrace() 情報
}
?>
同様に、コード内で getFile() と getLine() を適切に呼び出してエラーを特定し、デバッグをより便利にすることができます。
2. プロセス指向のアプローチ
$db = 新しい PDO('mysql:host=localhost;dbname=test', $user, $pass);
$rs = $db->query("foo から aa,bb,cc を選択");
if ($db->errorCode() != '00000'){
Print_r($db->errorInfo());
出る
}
$arr = $rs->fetchAll();
print_r($arr);
$db = null
?>
PDO オブジェクトと PDOStatement オブジェクトには errorCode() メソッドと errorInfo() メソッドがあります。エラーがない場合、errorCode() は 00000 を返します。それ以外の場合は、いくつかのエラー コードが返されます。 errorInfo() は、PHP および MySQL で定義されたエラー コードとエラー情報を含む配列を返します。配列の構造は次のとおりです。
[php]
配列
(
[0] => 42S22
[1] => 1054
[2] => 「フィールドリスト」に不明な列「aaa」があります
)
Heda Li Xin のクレイジー コーディング ライフからの抜粋
http://www.bkjia.com/PHPjc/478395.html
www.bkjia.com
http://www.bkjia.com/PHPjc/478395.html

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック



