Windowsで作る - PHPプログラミングの開発環境
このページへのアクセス 今日: 0 / 昨日: 0 総計: 3044
Version 1.0 (MIT License)
— y2sunlight 2020-10-20
Sqlform はブラウザ上のフォームからSQLスクリプトを実行できるツールで、スクリプトの編集、保存、呼び出し、削除ができます。テスト時、保守などで利用可能です。ログイン機能を実装していないので、運用時はhttpsにてWebサーバの認証機能を利用するか、認証機能付きのアプリケーションに組み込んでご利用下さい。
Sqlform は GitHub で公開しています。
リリース版をダウンロードし、適当な場所に解凍して下さい。
ダウンロードした sqlform.phpファイルの存在するディレクトリでPHPのビルトインサーバーを実行します。
sqlform.php
php -S localhost:8888
そして、以下のURLにアクセスしてください。
起動後には、以下のsqlスクリプトが表示されています。
SELECT 'Hello, World!' as phrase;
画面右上のプレイボタン(3つ並んだ三番目のボタン)を押すと、実行結果が表示されます。
解凍直後は、データーベースとして SQLite が選択されています。SQLiteが使用できない環境、または他のデータベースを構成したい場合は、以下の「構成」を参照して下さい。
画面左上のセレクトボックスで保存済みのSQLファイルを選択しSQLを読み込むことができます。例えば、同封されている sample.sql を選択して下さい。
sample.sql
ここで呼び出したファイルは編集することもできます。
SQLスクリプトの仕様については、構成されているデータベースに依存しますが、コメントと拡張機能については以下の「SQLファイルの仕様」を参照して下さい。
画面右上のプレイボタン(3つ並んだ三番目のボタン)を押すと、編集済のSQLスクリプトを実行し、その結果を表示します。
SQLスクリプトの保存と削除は画面右上のファイル名ボックス、保存ボタン、削除ボタンで行います。
データベースの構成は、同封の config.php で行います。
config.php
... /* * 環境設定を返す */ return [ // データベース接続先設定 'database'=>'sqlite', 'connections' => [ 'mysql' => [ 'dsn' => 'mysql:host=localhost;port=3306;dbname=sunlight_db', 'username' => 'sunlight', 'password' => 'sunlight', 'driver_options' => [PDO::MYSQL_ATTR_INIT_COMMAND => 'set names utf8'], // 'initial_statements'=> ['set names utf8'], ], 'sqlite' => [ 'dsn' => 'sqlite:'.dirname(__FILE__) . '/db/sqlform.sqlite', 'db_file' => dirname(__FILE__) . '/db/sqlform.sqlite', ], ], // SQLファイル設定 'sql_file' =>[ 'path' => dirname(__FILE__) . "/sql/{database}", ], ];
sqlite
database は任意の名前が指定できますが、connections の中で使用する名前と一致している必要があります。connectionsには、複数のデータベースの接続を含める事ができますが、実際に使用されるのは database で指定されたものだけです。
database
connections
各データベースの設定値には以下の項目が含まれます。
connection_string は必須です。db_file は SQLite のようなファイル共有型のデータベースの場合に必要で、username と password は MySQL のようなクライアント-サーバ型のデータベースの場合に必要になります。尚、ファイル共有型のデータベースのパスはアクセス権のある任意の場所に設定できます。
connection_string
db_file
username
password
connection_string と driver_options についてはを PHPのPDO driver-specific documentation 参照して下さい。
driver_options
接続設定及び接続文字列の詳細は以下を参照して下さい: https://idiorm.readthedocs.io/en/latest/configuration.html#id1
initial_statements はオプションで、データベースとの接続直後に実行するSQL文を設定します。このSQL文は複数指定することができます。
initial_statements
SQLファイルに関する設定です。
path はアクセス権のある任意の場所に設定できます。
path
SQLファイルにはSQL文、EVAL文、プリント文 及びコメントを含むことができます。
;
– Comment
/* Comment */
-- テーブル作成 DROP TABLE IF EXISTS syain; CREATE TABLE syain ( syain_no INT(10) NOT NULL, syain_name VARCHAR(50), bumon_no INT(10), PRIMARY KEY (syain_no) ); -- テーブルにデータを挿入 INSERT INTO syain VALUES(1,'Suzuki',3); INSERT INTO syain VALUES(2,'Yamamoto',1); INSERT INTO syain VALUES(3,'Tanaka',2); -- テーブルの検索 SELECT * FROM syain;
EVAL sleep(1); SELECT 'Hello, World!' AS phrase;
eval('sleep(1)');
実行結果
#1秒待って検索する; EVAL sleep(1); SELECT 'Hello, World!' AS phrase;
#
#;
Sqlformは MITライセンスの下でライセンスされています。詳細については、ライセンスファイルを参照してください。