網頁設計

PHP若何連接的SQLite數據庫 網頁設計
PHP若何連接的SQLite數據庫 網頁設計

建立表以下PHP法式將用於在上面創建的數據庫(phpdb.db)中建立一個表:

 

  1. <?php
  2. class SQLiteDB extends SQLite3
  3. {
  4.   function __construct()
  5.   {
  6.      $this->open('phpdb.db');
  7.   }
  8. }
  9. $db = new SQLiteDB();
  10. if(!$db){
  11.   echo $db->lastErrorMsg();
  12. } else {
  13.   echo "Yes, Opened database successfully<br/>\n";
  14. }
  15.  
  16. // 先删除后创建表
  17. $sql = "DROP table company";
  18. $ret = $db->exec($sql);
  19.  
  20. // 创建表
  21.  
  22. $sql =<<<EOF
  23.       CREATE TABLE if not exists company
  24.       (ID INT PRIMARY KEY     NOT NULL,
  25.       NAME           TEXT    NOT NULL,
  26.       AGE            INT     NOT NULL,
  27.       ADDRESS        CHAR(50),
  28.       SALARY         REAL);
  29. EOF;
  30.  
  31. $ret = $db->exec($sql);
  32. if(!$ret){
  33.   echo $db->lastErrorMsg();
  34. } else {
  35.   echo "Yes, Table created successfully<br/>\n";
  36. }
  37.  
  38. // $db->close();
  39.  
  40. $sql =<<<EOF
  41.       INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY)
  42.       VALUES (1, 'Maxsu', 26, 'Haikou', 20000.00 );
  43.  
  44.       INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY)
  45.       VALUES (2, 'Allen', 25, 'Guangzhou', 15000.00 );
  46.  
  47.       INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY)
  48.       VALUES (3, 'Tenny', 23, 'Shanghai', 20000.00 );
  49.  
  50.       INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY)
  51.       VALUES (4, 'Weiwang', 25, 'Beijing ', 65000.00 );
  52. EOF;
  53.  
  54. $ret = $db->exec($sql);
  55. if(!$ret){
  56.   echo $db->lastErrorMsg();
  57. } else {
  58.   echo "Yes, Some Records has Inserted successfully<br/>\n";
  59. }
  60.  
  61. // 查询表中的数据
  62.  
  63. echo "<b> Select Data from company table :</b><hr/>";
  64.  
  65. $sql =<<<EOF
  66.   SELECT * from COMPANY;
  67. EOF;
  68.  
  69. $ret = $db->query($sql);
  70. while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
  71.   echo "ID = ". $row['ID'] . "<br/>\n";
  72.   echo "NAME = ". $row['NAME'] ."<br/>\n";
  73.   echo "ADDRESS = ". $row['ADDRESS'] ."<br/>\n";
  74.   echo "SALARY =  ".$row['SALARY'] ."<br/>\n\n";
  75.   echo '----------------------------------<br/>';
  76. }
  77.  
  78. echo "Operation done successfully\n";
  79.  
  80. $db->close();
  81.  
  82.  
複製代碼



履行上述程序時,會產生以下結果:
PHP若何連接的SQLite數據庫 網頁設計PHP若何連接的SQLite數據庫 網頁設計

更新操作以下PHP顯示代碼如何了利用UPDATE語句來更新記實,從然後company表中並電子雜誌更新顯示的記錄:

  1. <?php
  2. class SQLiteDB extends SQLite3
  3. {
  4.   function __construct()
  5.   {
  6.      $this->open('phpdb.db');
  7.   }
  8. }
  9. $db = new SQLiteDB();
  10. if(!$db){
  11.   echo $db->lastErrorMsg();
  12. } else {
  13.   echo "Yes, Opened database successfully<br/>\n";
  14. }
  15.  
  16. // 先删除后创建表
  17. $sql = "DROP table company";
  18. $ret = $db->exec($sql);
  19.  
  20. // 创建表
  21.  
  22. $sql =<<<EOF
  23.       CREATE TABLE if not exists company
  24.       (ID INT PRIMARY KEY     NOT NULL,
  25.       NAME           TEXT    NOT NULL,
  26.       AGE            INT     NOT NULL,
  27.       ADDRESS        CHAR(50),
  28.       SALARY         REAL);
  29. EOF;
  30.  
  31. $ret = $db->exec($sql);
  32. if(!$ret){
  33.   echo $db->lastErrorMsg();
  34. } else {
  35.   echo "Yes, Table created successfully<br/>\n";
  36. }
  37.  
  38. // $db->close();
  39.  
  40. $sql =<<<EOF
  41.       INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY)
  42.       VALUES (1, 'Maxsu', 26, 'Haikou', 20000.00 );
  43.  
  44.       INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY)
  45.       VALUES (2, 'Allen', 25, 'Guangzhou', 15000.00 );
  46.  
  47.       INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY)
  48.       VALUES (3, 'Tenny', 23, 'Shanghai', 20000.00 );
  49.  
  50.       INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY)
  51.       VALUES (4, 'Weiwang', 25, 'Beijing ', 65000.00 );
  52. EOF;
  53.  
  54. $ret = $db->exec($sql);
  55. if(!$ret){
  56.   echo $db->lastErrorMsg();
  57. } else {
  58.   echo "Yes, Some Records has Inserted successfully<br/>\n";
  59. }
  60.  
  61. // 更新ID=1的薪水为:29999
  62.  
  63. $sql = 'UPDATE COMPANY set SALARY = 29999.00 where ID=1';
  64. $ret = $db->exec($sql);
  65. if(!$ret){
  66.   echo $db->lastErrorMsg();
  67. } else {
  68.   echo $db->changes(), " Record(ID=1) updated successfully<br/>\n";
  69. }
  70.  
  71.  
  72. // 查询表中的数据
  73.  
  74. echo "<b> Select Data from company table :</b><hr/>";
  75.  
  76. $sql =<<<EOF
  77.   SELECT * from COMPANY;
  78. EOF;
  79.  
  80. $ret = $db->query($sql);
  81. while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
  82.   echo "ID = ". $row['ID'] . "<br/>\n";
  83.   echo "NAME = ". $row['NAME'] ."<br/>\n";
  84.   echo "ADDRESS = ". $row['ADDRESS'] ."<br/>\n";
  85.   echo "SALARY =  ".$row['SALARY'] ."<br/>\n\n";
  86.   echo '----------------------------------<br/>';
  87. }
  88.  
  89. echo "Operation done successfully\n";
  90.  
  91. $db->close();
複製代碼

sqlite3的名擴大在PHP 5.3.0+以上都會默認啟用。在可以compile-時利用--without-sqlite3來禁用它。
視窗柯林斯用戶經由過程啟用php_sqlite3.dll才能利用此擴展。php_sqlite3.dll默許所有遊戲在PHP 5.3.0以後的PHP刊行版中。
有關詳細的安裝申明,請查看PHP教程及其官方網站。
毗鄰到的SQLite數據庫以下PHP代碼顯示若何毗連到SQLite數據庫。假如數據庫不存在,那麼它將創建一個新的數據庫,最後將返回一個數據庫對象。

  1. <?php
  2.    class SQLiteDB extends SQLite3
  3.    {
  4.       function __construct()
  5.       {
  6.          $this->open('phpdb.db');
  7.       }
  8.    }
  9.    $db = new SQLiteDB();
  10.    if(!$db){
  11.       echo $db->lastErrorMsg();
  12.    } else {
  13.       echo "Yes, Opened database successfully\n";
  14.    }
  15. ?>
複製代碼

PHP若何連接的SQLite數據庫 網頁設計
PHP若何連接的SQLite數據庫 網頁設計

插入數據操作以下PHP顯示法式如何了上述在示例中建立³³的company表中插入數據紀錄:



當履行上述法式時,將向company表中插入給定的紀錄,並顯示以下:
PHP若何連接的SQLite數據庫 網頁設計PHP若何連接的SQLite數據庫 網頁設計

選擇操作以下PHP顯示法式若何了上述從示例中創建³³的company表中並電子雜誌數據顯示記錄:


現在,運行上面的程序在當前目錄中創建指定數據庫:phpdb.db。可以憑據需要更改路徑。假如數據庫成功建立,則會供應以下動靜:

PHP若何連接的SQLite數據庫 網頁設計
PHP若何連接的SQLite數據庫 網頁設計
在履行上面語句後,應當也會在不異的目次下主動建立一個名稱為:phpdb.db的數據庫文件。以下所示 -

  1. <?php
  2. class SQLiteDB extends SQLite3
  3. {
  4.   function __construct()
  5.   {
  6.      $this->open('phpdb.db');
  7.   }
  8. }
  9. $db = new SQLiteDB();
  10. if(!$db){
  11.   echo $db->lastErrorMsg();
  12. } else {
  13.   echo "Yes, Opened database successfully<br/>\n";
  14. }
  15.  
  16. // 先删除后创建表
  17. $sql = "DROP table company";
  18. $ret = $db->exec($sql);
  19.  
  20. // 创建表
  21.  
  22. $sql =<<<EOF
  23.       CREATE TABLE if not exists company
  24.       (ID INT PRIMARY KEY     NOT NULL,
  25.       NAME           TEXT    NOT NULL,
  26.       AGE            INT     NOT NULL,
  27.       ADDRESS        CHAR(50),
  28.       SALARY         REAL);
  29. EOF;
  30.  
  31. $ret = $db->exec($sql);
  32. if(!$ret){
  33.   echo $db->lastErrorMsg();
  34. } else {
  35.   echo "Yes, Table created successfully<br/>\n";
  36. }
  37.  
  38. // $db->close();
  39.  
  40. $sql =<<<EOF
  41.       INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY)
  42.       VALUES (1, 'Maxsu', 26, 'Haikou', 20000.00 );
  43.  
  44.       INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY)
  45.       VALUES (2, 'Allen', 25, 'Guangzhou', 15000.00 );
  46.  
  47.       INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY)
  48.       VALUES (3, 'Tenny', 23, 'Shanghai', 20000.00 );
  49.  
  50.       INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY)
  51.       VALUES (4, 'Weiwang', 25, 'Beijing ', 65000.00 );
  52. EOF;
  53.  
  54. $ret = $db->exec($sql);
  55. if(!$ret){
  56.   echo $db->lastErrorMsg();
  57. } else {
  58.   echo "Yes, Some Records has Inserted successfully<br/>\n";
  59. }
  60.  
  61. // 更新ID小于等于2的数据记录
  62.  
  63. $sql =<<<EOF
  64.   DELETE from COMPANY where ID<=2;
  65. EOF;
  66. $ret = $db->exec($sql);
  67. if(!$ret){
  68. echo $db->lastErrorMsg();
  69. } else {
  70.   echo $db->changes(), " Record(ID<=2) deleted successfully<br/>\n";
  71. }
  72.  
  73. // 查询表中的数据
  74.  
  75. echo "<b> Select Data from company table :</b><hr/>";
  76.  
  77. $sql =<<<EOF
  78.   SELECT * from COMPANY;
  79. EOF;
  80.  
  81. $ret = $db->query($sql);
  82. while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
  83.   echo "ID = ". $row['ID'] . "<br/>\n";
  84.   echo "NAME = ". $row['NAME'] ."<br/>\n";
  85.   echo "ADDRESS = ". $row['ADDRESS'] ."<br/>\n";
  86.   echo "SALARY =  ".$row['SALARY'] ."<br/>\n\n";
  87.   echo '----------------------------------<br/>';
  88. }
  89.  
  90. echo "Operation done successfully\n";
  91.  
  92. $db->close();
複製代碼


參考文章
https://www.yiibai.com/sqlite/php-with-sqlite.html
https://stackoverflow.com/questions/17997722/sqlite3-query-to-list-all-tables-in-database-only-shows-one-table

http://www.sqlitetutorial.net/sqlite-tutorial/sqlite-show-tables/

 

  1. <?php
  2. class SQLiteDB extends SQLite3
  3. {
  4.   function __construct()
  5.   {
  6.      $this->open('phpdb.db');
  7.   }
  8. }
  9. $db = new SQLiteDB();
  10. if(!$db){
  11.   echo $db->lastErrorMsg();
  12. } else {
  13.   echo "Yes, Opened database successfully<br/>\n";
  14. }
  15.  
  16. // 先删除后创建表
  17. $sql = "DROP table company";
  18. $ret = $db->exec($sql);
  19.  
  20. // 创建表语句
  21.  
  22. $sql =<<<EOF
  23.       CREATE TABLE if not exists company
  24.       (ID INT PRIMARY KEY     NOT NULL,
  25.       NAME           TEXT    NOT NULL,
  26.       AGE            INT     NOT NULL,
  27.       ADDRESS        CHAR(50),
  28.       SALARY         REAL);
  29. EOF;
  30.  
  31. $ret = $db->exec($sql);
  32. if(!$ret){
  33.   echo $db->lastErrorMsg();
  34. } else {
  35.   echo "Yes, Table created successfully<br/>\n";
  36. }
  37.  
  38. // $db->close();
  39.  
  40. $sql =<<<EOF
  41.       INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY)
  42.       VALUES (1, 'Maxsu', 26, 'Haikou', 20000.00 );
  43.  
  44.       INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY)
  45.       VALUES (2, 'Allen', 25, 'Guangzhou', 15000.00 );
  46.  
  47.       INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY)
  48.       VALUES (3, 'Tenny', 23, 'Shanghai', 20000.00 );
  49.  
  50.       INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY)
  51.       VALUES (4, 'Weiwang', 25, 'Beijing ', 65000.00 );
  52. EOF;
  53.  
  54.    $ret = $db->exec($sql);
  55.    if(!$ret){
  56.       echo $db->lastErrorMsg();
  57.    } else {
  58.       echo "Yes, Some Records has Inserted successfully<br/>\n";
  59.    }
  60.    $db->close();
  61.  
  62.  
複製代碼



當執行上述法式時,它將在數據庫(phpdb.db)中創建一個名稱為:company的表,並顯示以下消息:

  1. <?php
  2.     $db = new SQLite3('db/chinhook.db');
  3.     $tablesquery = $db->query("SELECT name FROM sqlite_master WHERE type='table';");
  4.  
  5.     while ($table = $tablesquery->fetchArray(SQLITE3_ASSOC)) {
  6.         echo $table['name'] . '<br />';
  7.     }
  8. ?>
複製代碼

 



履行上述法式時,會產生以下結果:
PHP若何連接的SQLite數據庫 網頁設計PHP若何連接的SQLite數據庫 網頁設計

最後如要列出資料庫內有幾許Table name

 



執行上述法式時,會產生以下結果:
PHP若何連接的SQLite數據庫 網頁設計PHP若何連接的SQLite數據庫 網頁設計

刪除操作以下PHP顯示代碼若何了利用DELETE語句刪除任何記實,從然後company表中並電子雜誌剩餘顯示的記錄:

  1. <?php
  2. class SQLiteDB extends SQLite3
  3. {
  4.   function __construct()
  5.   {
  6.      $this->open('phpdb.db');
  7.   }
  8. }
  9. $db = new SQLiteDB();
  10. if(!$db){
  11.   echo $db->lastErrorMsg();
  12. } else {
  13.   echo "Yes, Opened database successfully<br/>\n";
  14. }
  15.  
  16. $sql =<<<EOF
  17.       CREATE TABLE company
  18.       (ID INT PRIMARY KEY     NOT NULL,
  19.       NAME           TEXT    NOT NULL,
  20.       AGE            INT     NOT NULL,
  21.       ADDRESS        CHAR(50),
  22.       SALARY         REAL);
  23. EOF;
  24.  
  25. $ret = $db->exec($sql);
  26. if(!$ret){
  27.   echo $db->lastErrorMsg();
  28. } else {
  29.   echo "Yes, Table created successfully<br/>\n";
  30. }
  31. $db->close();
  32.  
複製代碼


本文來自:
arrow
arrow
    文章標籤
    網頁設計
    全站熱搜

    victorjod6q 發表在 痞客邦 留言(0) 人氣()