PHP が定期的に SQL データベースに書き込む Web ページを作成しています。
HTMLページの別のリンクをクリックして、同じデータベースにアクセス/読み取るRuby on Railsアプリケーションを作成する方法はありますか?
PHP が定期的に SQL データベースに書き込む Web ページを作成しています。
HTMLページの別のリンクをクリックして、同じデータベースにアクセス/読み取るRuby on Railsアプリケーションを作成する方法はありますか?
一般的なデータベースはそれぞれ、同時に多くの要求を処理するように設計されています。それがデータベースの主な機能であり、考え方です。そうでなければ、パフォーマンス、速度、およびセキュリティが大幅に低下します。
言語は、データベースに接続して操作するための単なるツールです。言語は依然として SQL 構文を使用しているため、すべての言語が DB で SQL ステートメントを実行することになります。あなたの質問に答えると、言語はまったく問題ではありません。
はい、可能です。ただし、Rails には、アプリケーション レベルで制約と整合性を強制する規則があることに注意してください。これは、users というテーブルがあり、User モデルをセットアップして、ユーザーが電子メール アドレスを持っている必要があることを検証している場合、この制約は Rails アプリケーションにのみ適用されることを意味します。
そのため、Rails アプリケーションの誤動作を引き起こす方法で PHP アプリケーションがデータベースを操作しないようにする必要があります。たとえば、電子メール アドレスのないユーザーを挿入します。
はい、使用しているテクノロジ スタックに応じて適切な API を使用してください。
サーバー DB ログを読み取るときに区別するために、ソリューションごとに DB 側で個別のユーザー名を使用することをお勧めします。
はい、可能です。ほとんどの場合、データベースはアプリケーションから独立しています。データベースに接続して有効な SQL を送信できるアプリケーションは、データベースに接続できます。
たとえば、SQL サーバー データベースとやり取りする php Web サイトがあるとします。別のアプリケーションである Management Studio がコンピューターにインストールされていて、権限があれば、そのデータベースに接続してクエリを実行できます。
同じデータベースに対して、接続資格情報があれば、それをクエリする ColdFusion または .net Web ページを作成できます。データベースは、それを呼び出しているアプリケーションを気にしません。権限と有効なSQLのみを気にします。
次の例のように、Rails アプリにモデルを含めることができますtransactions
。
class Transaction < ActiveRecord::Base
attr_accessible :price, :product
end
次にconfig/database.yml
、データベースの構成を次のように記述できます。
development:
adapter: mysql2
encoding: utf8
reconnect: true
database: development
host: 11.111.11.11 # any host name
port: 3306
username: username
password: password
test:
...
忘れずにmysql2
宝石を入れてくださいGemfile
PHP 側から、通常どおりこのデータベースに接続できます。
<?php
$link = mysql_connect('11.111.11.11', 'username', 'password');
if (!$link) {
die('Not connected : ' . mysql_error());
}
// select correct db for environment
$db_selected = mysql_select_db('development', $link);
if (!$db_selected) {
die ('Can\'t use foo : ' . mysql_error());
}
$sql = "SELECT * FROM transactions";
$results = mysql_query($sql);
// ...
?>