- Home ›
- PHP入門 ›
- SQLiteへの接続
データの追加(INSERT)
広告
先ほど作成したテーブルにデータを追加してみます。INSERTを使います。
先ほどはSQL文を実行するのに「sqlite_query」関数を使いましたが、SELECTなどと違いINSERTなどのSQL文を実行した結果が発生しない場合には「sqlite_exec」関数も使えます。(sqlite_query関数でも可能です)。
bool sqlite_exec(resource dbhandle, string query [, string &error_msg])
与えられたデータベースハンドル (dbhandle パラメータで指定される) に対し て query によって指定される SQL ステートメントを実行します。 引数: dbhandle SQLite データベースリソース。 query 実行するクエリを指定します。 error_msg エラーが発生した場合、指定された変数に詰め込まれます。 返り値: 成功時は TRUE、失敗時は FALSE を返します。
使い方は「sqlite_query」関数と基本的に同じです。また複数のSQL文をセミコロンでつなげて記述しておき、まとめて実行が可能です。
またSQL文を実行した結果、変更されたレコード数を取得することも可能です。「sqlite_changes」関数を使います。
int sqlite_changes(resource dbhandle)
データベースハンドル dbhandle に対して実行された 直近のSQLステートメント によって変更されたレコード数を返します。 引数: dbhandle SQLite データベースリソース。 返り値: 変更されたレコード数を返します。
では試してみましょう。
<html> <head><title>PHP TEST</title></head> <body> <?php $link = sqlite_open('test.db', 0666, $sqliteerror); if (!$link) { die('接続失敗です。'.$sqliteerror); } print('接続に成功しました。<br>'); $sql = "INSERT INTO shouhin (id, name) VALUES (1, 'テレビ');"; $sql = $sql."INSERT INTO shouhin (id, name) VALUES (2, 'DVDレコーダー')"; $result_flag = sqlite_exec($link, $sql, $sqliteerror); if (!$result_flag) { die('クエリーが失敗しました。'.$sqliteerror); }else{ print(sqlite_changes($link).'件のレコードを追加しました。<br>'); } sqlite_close($link); print('切断しました。<br>'); ?> </body> </html>
上記ファイルをWWWサーバに設置しブラウザ経由で見ると下記のように表示されます。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。