質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Q&A

解決済

1回答

2341閲覧

PHPでSQLiteのデータベースを表示させたい

退会済みユーザー

退会済みユーザー

総合スコア0

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

0グッド

1クリップ

投稿2018/11/18 08:29

SQLiteで作成したデータベースをPHPファイルで読み込んで表示させたいです。
XAMPP(3.2.2)を起動させてApachを稼働させ、PCをサーバーとして利用している前提があります。

任意のフォルダの「index.php」を置き、表示させようとすると
「Fatal error: Uncaught Error: Call to undefined function sqlite_open() in C:\Program Files(任意のフォルダ)\index.php:4 Stack trace: #0 {main} thrown in C:\Program Files(任意のフォルダ)\index.php on line 4」
というエラーが出てきます。

SQLiteとPHPの連携について書かれているページはネット上に大量に存在し、PHPのバージョンも異なるので混乱しています。
そもそも、XAMPP内に含まれているPHPのバージョンの確認の方法すら分からないレベルです。
非常に浅知恵で、申し訳ありませんが返答をいただけたら幸いです。

index.phpのソースは以下の通りです。
https://heteml.jp/support/manual/db-php-sqlite/を参考にしました。

<?php // SQLite へ接続します。 if ($db = sqlite_open('(任意のファイル名).db', 0666, $sqlite_error)) { // SQL クエリを実行します。 $res = sqlite_query($db, 'SELECT * from (任意のテーブル名)'); // 結果を出力します。 while ($row = sqlite_fetch_array($res)) { echo $row[0] . "\n"; } } else { // SQLite への接続が失敗しました。 die($sqlite_error); } // SQLite の接続を閉じます。 sqlite_close($db); ?>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Fatal error: Uncaught Error: Call to undefined function sqlite_open() in C:\Program Files(任意のフォルダ)\index.php:4 Stack trace: #0 {main} thrown in C:\Program Files(任意のフォルダ)\index.php on line 4

このエラーはsqlite_open()が定義されていないという意味です。
この関数はSQLiteモジュールのSQLiteクラスにあります。
http://jp.php.net/manual/ja/ref.sqlite.php
ということはPHPのSQLiteモジュールがインストールされていないのかもしれません。
このSQLiteモジュールは「 PHP 5.0 以降で、この拡張モジュールは PHP に同梱されるようになりました。 PHP 5.4 以降では、SQLite 拡張モジュールは PECL 経由でのみ利用可能となります。」とあります
http://php.net/manual/ja/sqlite.installation.php
のでまず、PHPのバージョンを確認してください。

PHPのバージョンの調べかたはさまざまなサイトに記載されていますので、参考にしてください。
http://lovee7.blog.fc2.com/blog-entry-26.html

投稿2018/11/18 09:09

fu7mu4

総合スコア1088

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/11/18 10:24

PHPのバージョンは7.2.10でした。 PHP5.0以降なので、拡張モジュールは入っているのかもしれません...。 sqlite_open()の定義の方法も分かりません。 落ち着いたときに、もう一度sqlite_openについても調べてみます。
fu7mu4

2018/11/18 12:18

phpinfoの結果をここに書けばより多くの回答がつくかもしれません。
退会済みユーザー

退会済みユーザー

2018/11/18 22:35

PHPのバージョンを最新版に更新し、php.iniを指定した後に「sqlite」という項目を検索したら3箇所発見できたので、セミコロンを取ってコメントアウトを削除した後に「sqlite3.extension_dir」にxampp内に入っている最新版に更新したphpフォルダの中にあるextフォルダを指定しても同様のエラーが出ます。 PDOというものを使用しても「UnCaught PDO Exception...line 4」と出てしまい、それもちんぷんかんぷんです。。。 phpinfoで表示はされますが、情報が大量にあり過ぎて何をこちらに書き出せばいいのかも分からないレベルです。。。
退会済みユーザー

退会済みユーザー

2018/11/18 23:27

php -m
退会済みユーザー

退会済みユーザー

2018/11/19 02:06

ありがとうございました。解決しました。 コマンドプロンプトで「php -m」を実行しましたところ、指定のphpフォルダ内にdllが数個入っていないとの指定が出ましたのでフォルダごとコピーし、その後もエラーが続きましたのでTeraPadでphpファイルを編集し「UTF-8」のBOM無しで保存して下記のサイトの「複数の値を取得する」のソースをファイル名とテーブル名だけ改変して実行したところ、考えていた通りの表示ができました。 ソース参考アドレス: https://joppot.info/2014/02/09/638
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問