私は、MySQLで同じユーザーテーブルを使用したい2つのWebサイトを持っています。同じ2番目のデータベースを使用するサイトの外部データベースから1つのテーブルを使用するにはどうすればよいですか?
1つのサイトにはユーザーがなく、もう1つのサイトには20,000以上のユーザーがいます。ユーザーがSite1のサイトと20kユーザーのサイトをsite2としましょう。
2つのアカウントを設定しなくても、site1またはsite2のいずれかにサインアップしているユーザーが両方のサイトで同じアカウントを使用したいと思っています。
両方のサイトがusersテーブルに全く同じデータ構造を使用しているため、site1のsite2のusersテーブルを使用できる場合、両方のサイトで同じテーブルを使用できます。つまり、site1にサインアップしたユーザーは自動的にsite2にアカウントを持ちます。
一見簡単な方法は、site1からsite2にusersテーブルをインポートするだけです。これは今複製されています。しかし、そう簡単ではありません。
site1にサインアップすると、30〜50人/日、この新しい戦略を設定すると、セルフマーケティングになるので、site2のユーザーも取得します。
新しいユーザーを1人ずつインポートすることは現実的ではなく、毎日ユーザーをインポートするのは妥当ではありません。
私がやりたいことは、単にsite1から外部データベースを使用するようにsite2を取得することです。
サイト1とサイト2の両方が、同一のcpanelで、同じphpmyadminを使用して同じサーバーにあることに注意してください。したがって、同じサーバー上にあるため、別のサーバーへのリモートアクセスを心配する必要はありません。しかし、彼らは別のデータベース名(もちろん)と別のデータベースユーザー/パスを持っています。
また、テーブルはすべて同じ名前ですが異なるデータ(2つの異なるサイトが同じデータベースシステムを使用するため)を1つのデータベースにマージすることはできません。それ以外の場合はsite2の変更もsite1の変更になります。その逆もありますが、これは2つの異なるWebサイトであるためです。
したがって、私はsite2データベースにsite1データベースから外部(しかし同じサーバー上)のテーブル(usersテーブル)を1つだけ使用する方法を教えてください。
はいできます。 site1から、ユーザーがデータベースにログインしているかどうかをチェックしてsite1データベースにログインしている場合は、ユーザーがログインできるようにします。利用できない場合は、別のmysql_pconnectを作成し、新しいdb接続を返します。$ conn2変数に格納します。この新しい接続変数を使用すると、site2 dbをすぐにチェックインできます。使用可能なユーザーがログインできるようにした場合ユーザーがsite2からのものである場合はsite2と同じプロセス。 –