忍者ブログ
MASTER →  ADMIN / NEW ENTRY / COMMENT
現代魔法(nearly equal 情報技術)を勉強中な人のメモ(チラシの裏)
/ 2024/03/29 (Fri) / 編集
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

/ 2009/07/11 (Sat) / 編集
Macでphp+データベースをしたかった、でもMySQLを追加インストールはめんどいてかそんな容量ない、、、
というわけでMacにデフォルトで入っているのを使えるように設定してみた。

MySQLと少し違うようだがまぁ使い方の方はおいおい、、、ね

Apacheでphp

とりあえず [システム環境設定]→[共有]→[Web共有] でApacheを起動 「http://localhost/~complex_lab/」で「ここはあなた専用の Web サイトです。」が表示されるようにする。

設定ファイル「/etc/apache2/httpd.conf」を変更し
#LoadModule php5_module      libexec/apache2/libphp5.so
↓
LoadModule php5_module      libexec/apache2/libphp5.so
apacheを再起動
%sudo /usr/sbin/apachectl restart

Sitesフォルダに書き込み権限をあげる
%chmod a+w ~/Sites
以下のような内容の「info.php」を作成しブラウザからアクセスする
<?php phpinfo(); ?>
こんな感じになってればおっけ

phpからsqlite

<?php

// create a SQLite3 database file with PDO and return a database handle (Object Oriented)

echo "start<br>";

echo "<h3>Open database (open PDO)</h3>";
try {
  $dbHandle = new PDO('sqlite:'."test-db.sqlite3");
}catch( PDOException $exception ){
  die($exception->getMessage());
}
echo "success";

// create page view database table
echo "<h3>Create table</h3>";
$sqlCreateTable = 'CREATE TABLE pageView(id INTEGER PRIMARY KEY AUTOINCREMENT,
		       page CHAR(256), access INTEGER(10));';
echo $sqlCreateTable;
$dbHandle->exec($sqlCreateTable); // remove or 'comment out' this line after first run

echo "<br>success";


// insert page visit in database with a prepared statement

echo "<h3>Isert data</h3>";
$sqlInsertVisit = 'INSERT INTO pageView (page, access) VALUES (:page, :access);';
echo $sqlInsertVisit;

$stmt = $dbHandle->prepare($sqlInsertVisit);
$stmt->bindParam(':page', $_SERVER['PHP_SELF'], PDO::PARAM_STR);
$stmt->bindParam(':access', time(), PDO::PARAM_INT);
$stmt->execute();

echo "<br>success";

// get page views from database
echo "<h3>Get data</h3>";
$pageVisit = $dbHandle->quote($_SERVER['PHP_SELF']);
$sqlGetView = 'SELECT count(page) AS view FROM pageView WHERE page = '.$pageVisit.' ;';
echo $sqlGetView;
$result = $dbHandle->query($sqlGetView);
$pageView = $result->fetch(); // store result in array
echo "<br>success";

// print page views and filename
echo "<h3>Show data</h3>";
echo '<blockquote>This page has been viewed <b>'.$pageView['view'].
"</b> times, according to <em>$user_db</em>.</blockquote>";

echo '<blockquote>Edit <em>'.$_SERVER['SCRIPT_FILENAME'].'</em>
to learn how this works.</blockquote>';

echo "end";
?>
成功するとこんな感じ

参考

[Apple Developer Connection]PHP the Easy Way: Enabling PHP and SQLite on Mac OS X Leopard

拍手[0回]

PR
忍者ブログ [PR]