ホームページ >バックエンド開発 >PHPチュートリアル >PDO で 2 つのデータベースを同時に操作したい場合、接続できる PDO は 2 つだけですか?
こういう状況だから
メイン サイトは記事、メンバーなどを備えた CMS です
ただし、多くの異なるサブサイトが存在する場合もあります (特別なトピックとして考えてください)
そして、各サブサイトのコンテンツ構造も異なりますので、同じデータテーブルでは完成できず、各ブランチステーションには 7 ~ 8 個のデータベースが存在する可能性があります
ブランチが 50 個ある場合、300 ~ 400 以上のテーブルが使用されることになります
だからこそ、データベースを分離したい 処理中
$pdo = new PDO('mysql:host=localhost;dbname=cms', 'user','password');
$pdo_zt15 = new PDO('mysql:host=localhost;dbname) =zt15', ' user','password');
二つ同時に運用する理由は、サブサイト(子サイト)もメインサイトのデータベースの会員情報を利用する必要があるためです
データベースを同時に操作したいのですが、これが唯一の方法ですか?
それとも他の方法がありますか?
同じサーバー上にあり、同じ名前とパスワードを使用している場合。
select * from DB1.table1,DB2.table2 ?? を使用できます。 複数の接続を作成する必要はありません。
2 つの単語の意味は...
たとえば、サブサイトのトピックに取り組んでいる場合...
メインサイトのユーザー情報を取得します: select * from cms.user
次に、これを使用します独自のトピックの情報を取得するには: select * from zt15.product
つまり $pdo は 1 つだけで十分ですよね
しかし
$pdo = new PDO(' mysql:host=localhost; 'user','password');
SQL ステートメントで
を使用しても大丈夫ですか?? ??: dbname=cms
$pdo = new PDO('mysql:host=localhost;dbname=cms', 'user','password');
で DB1.table1 を使用しても問題ありませんか?同じサーバー、同じアカウント、およびそのアカウントに両方のライブラリへのアクセス権限がある限り。それでおしまい。