【トランザクション処理】(備忘録)
$db: DBコネクタ
// トランザクション開始
$db->query(‘begin’);
// インサート処理
// その他インサート処理
if(error)
{
$db->query(‘rollback’);
}else{
// コミット処理
$db->query(‘commit’);
どちらかのインサートが失敗してもロールバック。
【トランザクション処理】(備忘録)
$db: DBコネクタ
// トランザクション開始
$db->query(‘begin’);
// インサート処理
// その他インサート処理
if(error)
{
$db->query(‘rollback’);
}else{
// コミット処理
$db->query(‘commit’);
どちらかのインサートが失敗してもロールバック。
PHP文字列の比較(しょっぱいハマリ)
文字列の比較に == を使うのはだめですから。
そう。PHPは適当なところがあります。
if (‘2a’ == 2) {
ここ通る
}
※整数値を文字列と比較する際、文字列が 数値に変換されます。
数値形式の文字列を比較する場合、それは整数として比較されます。
これらの ルールは、 switch 文にも適用されます。
数値として文字列が評価された時、結果の値と型は次のように定義されます。
文字列は、’.’、’e’、’E’ のどれかが含まれている場合は float、それ以外は整数として評価されます。
文字列の最初の部分により値が決まります。
文字列が、 有効な数値データから始まる場合、この値が使用されます。
その他の場合、 値は 0 (ゼロ) となります。
有効な数値データは符号(オプション)の後に、
1 つ以上の数字 (オプションとして小数点を 1 つ含む)、 オプションとして指数部が続きます。
指数部は ‘e’ または ‘E’ の後に 1 つ以上の数字が続く形式です。
うそーん。
しかも
’00’ == ‘0000’
↑これtrueですから。
‘100’ == ’10e1′
↑これもtrueですから。。
※数値形式の文字列を比較する場合、それは整数として比較されます。
プギャー
要は文字列の比較をする時には「===」もしくはstrcmpを使うべし。
■備忘録■FPDFの基本
PDF生成をしたい場合、
PDFLib/PDIやClibPDF等のPHP向けPDFライブラリが定番ですが、
有償ライセンスです。
手軽にPDF生成をしたいということであれば、
「FPDF」のオープンソースがお勧めっす。
ほんで、以下手順。
【1】本家サイト
http://www.fpdf.org/
で、「fpdfバージョン番号.zip」をダウンロード
【2】日本語サイト
http://fpdf.japansite.net/
で、「japanese.zip」をダウンロード
※このファイルで日本語に対応させませぅ
※Shift_JISにしかおそらく対応してないんだぜ
【3】「fpdfバージョン番号.zip」解凍後の
「fpdf.php」ファイルと「fontフォルダ」を
include_pathが通ったパスに配置
【4】japanese.zip解凍後の
「japanese.php」ファイルを
include_pathが通ったパスに配置
以上。
とりまえず、簡単なブラウザ出力テスト
——————————————————————-
require_once(‘japanese.php’); //日本語対応の場合、読み込むのはこのファイル
$pdf=new PDF_Japanese(‘P’,’mm’,’A4′); //用紙の設定
$pdf->AddSJISFont(); //フォント設定
$pdf->addPage(); //ページの追加
$pdf->SetFont(‘SJIS’,’B’,’16’); //フォント設定
$pdf->setXY(50,30); //表示位置の設定
$pdf->write(10,mb_convert_encoding(‘こんにちは、世界!’,’SJIS’,’EUC-JP’)); //文字列の出力
$pdf->output();
——————————————————————-