Ajaxとデータベース(MySQL)について質問です。
Ajaxでファイルを読み込むことは簡単にできると思われるのですが、ajaxでデーターベースのデータを取得することはできるのでしょうか?
ブラウザから直接SQLを打てないように、Ajaxを使ってサーバーサイドのデータベースに直接アクセスすることはできません。PHPなどをつかってデータベースの値を取得するスクリプトを組んで、それを通して取得する必要があります。
マニアックな方法だけどSQLiteだったらJavascriptからアクセスできるかもね。たしか以前にそんな記事を読んだ。
私だったらajaxでphpにアクセスさせてそのphpからmysqlにアクセスするようにしますね。mysql_query等のphp関数があるので。素人ですが。
どうしてもJSにこだわるならNode.jsつかうとか。参考サイト的な
通常は、javascriptからサーバーにあるphpやaspを動かす。そのサーバーサイドのプログラムにDBにアクセスするプログラムを埋め込み、必要なデータをxmlやjsonとして排出させる。そして、それをjavascriptで読み込む。この流れが普通と思います。流れだけ見ると簡単に思いますが結構はまった。文字コード、書きだしたxmlをなぜかうまくxmlファイルとして認識してくれない、とかありましたがなんとか解決してうまく動いています。
公開する場所で組込むならCGI使うにしろサーバーサイドJS使うにしろSQLインジェクションには気をつけないとだと思います。
JavaScriptでそれやっちゃうとSQLの読み込み方法を公開しちゃうことになるので、データ取り放題になっちゃいますよ。
た、たしかに!僕がばかでした;;
JSONとかXML使わなくても、AjaxでPOSTした先でechoなりHTMLを普通に打ち込めば、それを表示できますよ
みんなの回答 8 件
ブラウザから直接SQLを打てないように、Ajaxを使ってサーバーサイドのデータベースに直接アクセスすることはできません。PHPなどをつかってデータベースの値を取得するスクリプトを組んで、それを通して取得する必要があります。
マニアックな方法だけどSQLiteだったらJavascriptからアクセスできるかもね。たしか以前にそんな記事を読んだ。
私だったらajaxでphpにアクセスさせてそのphpからmysqlにアクセスするようにしますね。mysql_query等のphp関数があるので。素人ですが。
どうしてもJSにこだわるならNode.jsつかうとか。参考サイト的な
node.jsとMySQLで割と普通のデータベースウェブアプリを作ってみるチュートリアル | さくらたんどっとびーず
http://sakuratan.biz/archives/3101通常は、javascriptからサーバーにあるphpやaspを動かす。そのサーバーサイドのプログラムにDBにアクセスするプログラムを埋め込み、必要なデータをxmlやjsonとして排出させる。そして、それをjavascriptで読み込む。この流れが普通と思います。
流れだけ見ると簡単に思いますが結構はまった。文字コード、書きだしたxmlをなぜかうまくxmlファイルとして認識してくれない、とかありましたがなんとか解決してうまく動いています。
公開する場所で組込むならCGI使うにしろサーバーサイドJS使うにしろSQLインジェクションには気をつけないとだと思います。
JavaScriptでそれやっちゃうとSQLの読み込み方法を公開しちゃうことになるので、データ取り放題になっちゃいますよ。
JSONとかXML使わなくても、AjaxでPOSTした先でechoなりHTMLを普通に打ち込めば、それを表示できますよ
関連するトピックス