Develop and Download Open Source Software

How to use posql

Posql クラスメソッドの使い方の詳細は Posql API リファレンス を参照ください。
SQL 文法についての詳細はPosql SQL リファレンス を参照ください。

以下に使い方の例を示します。


<?php
// posql ライブラリを読み込み
require_once 'posql.php';

// データベース foo_db を作成 (foo_db が存在する場合は接続)
$posql = new Posql('foo_db');

// テーブル foo がなければ作成
$sql "CREATE TABLE IF NOT EXISTS foo (
  id      INTEGER      PRIMARY KEY,
  name    VARCHAR(255) DEFAULT '',
  message TEXT
)"
;
$posql->query($sql);

// エラーが起きてる場合はエラーメッセージと共に終了
if ($posql->isError()) {
  die(
$posql->lastError());
}

// データを挿入 (INSERT)
$sql "INSERT INTO foo (name, message) VALUES ('tom', 'Hello!')";
$posql->query($sql);
if (
$posql->isError()) {
  die(
$posql->lastError());
}

// すべてのデータを取得 (SELECT) 
$sql "SELECT * FROM foo";
$stmt $posql->query($sql);
if (
$posql->isError()) {
  die(
$posql->lastError());
}

// fetch を用いて表示
print '<pre>';
while (
$row $stmt->fetch()) {
  
print_r($row);
  print 
'<br>';
}
print 
'</pre>';
?>


リクエスト ($_POST や $_GET) を扱う場合は prepare を使うと便利です。
prepare についての解説は Posql API リファレンス を参照ください。

以下に $_POST とプリペアドステートメント (prepare) を用いた例を示します。


<?php
$name 
$_POST['name'];
$message $_POST['message'];

// プリペアドステートメントを用いてデータを挿入 (INSERT)
$sql "INSERT INTO foo (name, message) VALUES (?, ?)";
$stmt $posql->prepare($sql);
$stmt->execute(array($name$message));

// すべて表示
$sql "SELECT id, name, message FROM foo ORDER BY id DESC";
$stmt $posql->query($sql);
print 
$stmt->fetchAllHTMLTable();
?>


SourceForge.JP is a Japanese version of SourceForge.net. For developments that are not related to Japan, we recommend you to use SourceForge.net.