• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DB::connectでパスワードに「@」が含む時)

PHPでPEAR::DBでデータベース接続時のパスワードに@を含む場合の指定方法

このQ&Aのポイント
  • PHPのPEAR::DBを使用してデータベースに接続する際、パスワードに「@」が含まれる場合の指定方法を教えてください。
  • パスワードに「@」が含まれる場合、通常の指定方法ではエラーが発生してしまいます。
  • エスケープ文字やダブルコーテーションを使用しても問題は解決しないため、他の方法を探しています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

なんかそれなりの書き方がありそうですか、違うやり方を。 ■配列を DSN 情報に使用して接続する http://pear.php.net/manual/ja/package.database.db.intro-connect.php <?php require_once 'DB.php'; $dsn = array( 'phptype' => 'pgsql, 'username' => 'someuser', 'password' => 'apasswd', 'hostspec' => 'localhost', 'database' => 'thedb', ); $options = array( 'debug' => 2, 'portability' => DB_PORTABILITY_ALL, ); $db =& DB::connect($dsn, $options); if (PEAR::isError($db)) { die($db->getMessage()); } ?>

yukitakao
質問者

お礼

ありがとうございます! 上記でばっちりつながりました

その他の回答 (1)

  • agunuz
  • ベストアンサー率65% (288/438)
回答No.2

>パスワードに@を入れるなよ、、、ってツッコミはさておき 一番のツッコミどころは、今どきPEAR::DBを使うなよってことじゃないですかね。 そんな古いシステムの保守をしているんでしょうか?

yukitakao
質問者

お礼

そこまでデータベース速度にシビアな環境ではないので社内資産有効活用のためにpear::DBを現役で使ってます。 MDB2とかの方が速いとはいいますがうちの規模だとpear::DBで全く問題ないです。 pear::DB使う前提で作られた社内フレームワークやライブラリ群の便利さは捨てられないし それを全てMDB2等で書き換えるのはかなりの手間ですし・・・

関連するQ&A