サーバー上のSQLファイルを実行する簡単なPHPスクリプトです。
mysqliのサンプルとして作成したので、mysql(mariaDB)専用です。
同封の config.php を編集して下さい。
<?php
return
[
/* データベース接続先設定 */
'database' =>[
'host' => "localhost",
'username' => "sunlight",
'password' => "sunlight",
'database_name' => "sunlight_db",
'port' => "3306",
'initial_statements'=> [
'set names utf8',
],
],
/* SQLファイル設定 */
'sql_file' =>[
'path' => dirname(__FILE__) . "/sql",
],
];- database --- データベースの接続先を指定して下さい。
- sql_file --- SQLファイルを保存しているパスを指定して下さい。
SQLファイルをURLのクエリ文字列で指定して実行します:
SQLテキストを直接指定したい場合は、以下のようにします:
sqlfileはGET/POST両方のメソッドをサポートしているのでHTMLフォームからも使用できます。
- SQLスクリプトファイルにはSQL文、コメント、EVAL文を含みます。
- 文はセミコロン(
;)で区切って複数入力できます。 - 行コメント(
-- Comment)とブロックコメント(/* Comment */)の両方が使用できます。 - 連続する空白( TAB, Space, 改行文字 )は1つの空白と同じにみなされます。
- 改行を出力したい場合は
#;を行先頭に入力します。
EVAL文
- EVAL文はPHPのeval関数で実行します。例えば:
EVAL sleep(1); - 複文の実行はできません。
- クォート処理をしていないので、
EVAL echo 'Hellow;';などは途中で文が区切られエラーになります。
-- テーブル作成
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;上のSQLファイルを次のURLで実行します:
データベースとユーザを作成します。
例:
- ホスト: localhost
- データベース: sunlight_db
- ユーザ: sunlight
- パスワード: sunlight"
リリース版をダウンロードし、適当な場所に解凍して下さい。
ダウンロードした config.php を上の「設定」の項を参考にして編集して下さい。
ダウンロードした sqlfile.php の存在するディレクトリでPHPのビルトインサーバーを実行します。
- php -S localhost:8888
ブラウザで以下のようにして sqlfile.php を実行します:
sqlfileを使った他の実行例は以下のサイトをご覧下さい。
The sqlfile is licensed under the MIT license. See License File for more information.
