ログイン
英会話| 婚活| 北海道専門学校| 東北専門学校| 東海専門学校| 沖縄専門学校| ホームページ制作| 2万円HP制作|

PHPのgo-pear

メモ程度に

 

PHPでPEARを使うとき、共有だと

どうしてもサーバ屋さんによって準備してる種類や環境が違ってきます。

 

なので皆使いたい時は、自前でそれぞれ設置してるケースも多いと思いますが、少し前に便利なのを見つけました。

go-pear

http://pear.php.net/go-pear

 

 

特定のディレクトリにインストールしてくれるPEAR管理ツールが設置できます。

 

まだベータ版のようなマイナーなPEARも揃っていて、Linuxのyumとかで管理するのと

多分同じくらいの事ができそうです。※しかもブラウザで

記事URL コメントコメント(0)

PHPでMySQLにクエリを投げる場合

SQLインジェクション防止をしないといけないのですが、

普段、便利なのでPearを使ってます。

 

公式サイト

http://pear.php.net/manual/ja/package.database.db.db-common.quotesmart.php

 

//接続方法

$con = "mysql://DBID:DB_PASS@DB_SERVER/DB_NAME";
$opt = array(
    'debug'       => 2,
    'portability' => DB_PORTABILITY_ALL,
);
$db =& DB::connect($con, $opt);
if (DB::isError($db)) {
    die($db->getMessage());
}
 
//$dbオブジェクトができて、quoteSmartでSQLインジェクション防止
$sql "SELECT * FROM hogehoge WHERE name = ".$db->quoteSmart($name);
$res =& $db->query($sql);
 
という感じです。
 
これだと、$con = "mysql の部分をpgsqlとか変更するだけで、PostgreSQLとか
色々使えてさすが便利です。
 
ところがキーワード検索する際には LIKEを使いたくなる時があります。
 
その場合Pearだと LIKE ".$db->quoteSmart("%".$name."%");
としても%も文字列として扱われてうまくいきません。
 
その際は、LIKE 'mysql_real_escape_string("%".$name."%")'
 
という感じにしてます。これだと、%をエスケープしません。
どういう処理をしてるのか全部は分からないですが、関数名を見てもMySQLにこれを使えば大丈夫でしょう。
 
PHPは便利な関数が沢山あって嬉しいです。
記事URL コメントコメント(18)
1 |2 |次へ>> 

カレンダー

<< 2024年04月 >>
 123456
78910111213
14151617181920
21222324252627
282930    

私の紹介

profile
食べる事が好きです
管理画面へ