PHP (index.php):
<?php $test = new sql; echo $test->connectsql(); class sql { public $dsn = "sqlite:hello.sqlite3"; public $user = null; public $password = null; //建立資料庫 function connectsql() { try { //連結資料庫 $dbq = new PDO($this->dsn, $this->user, $this->password); echo "PDO Connection ok<br />"; //建立資料表db_math //新增INTEGER屬性PRIMARY KEY特性的id欄位 //新增INT屬性的project欄位 //新增TEXT屬性的function欄位 $dbq->exec("CREATE TABLE db_math(id INTEGER PRIMARY KEY, project INT, function TEXT)"); echo "Create Table ok<br />"; //建立索引db_math_id並指定為資料表db_math的id欄位 $dbq->exec("CREATE INDEX db_math_id ON db_math(id)"); echo "Create Index ok<br />"; //寫入資料3筆 $dbq->exec("INSERT INTO db_math(project,function) VALUES (1,'2+3')"); $dbq->exec("INSERT INTO db_math(project,function) VALUES (1,'4+5')"); $dbq->exec("INSERT INTO db_math(project,function) VALUES (2,'6+7')"); echo "Insert Data ok<br />"; //檢查若未成功則還原 $dbq->beginTransaction(); //搜尋全部資料 $stq = $dbq->prepare('SELECT *FROM db_math'); $stq->execute(); $result = $stq->fetchAll(); //印出資料內容 foreach($result as $arr) { print_r($arr); echo "<br />"; } //搜尋project欄位值為1的資料 $stq = $dbq->prepare("SELECT * FROM db_math WHERE project = '1'"); $stq->execute(); $result = $stq->fetchAll(); //印出資料內容 foreach($result as $arr) echo $arr['id'].", ".$arr['project'].", ".$arr['function']."<br />"; $this->dsn = null; } catch (PDOException $e) { //印出錯誤訊息 echo "Connection failed: ".$e->getMessage()."<br />"; $this->dsn = null; } } } ?>輸出結果:
說明:
採類別的寫法撰寫基本PDO連結資料庫,以及建立SQLite3資料表並進行Select搜尋之範例,
使用PDO請記得將相關之PHP extension打開。
沒有留言:
張貼留言