monacaからMySQLへ接続

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 2,535

next.wing

score 11

前提

monacaを使いビーコンを使ったアプリを作っています。
Hostingerというレンタルサーバを使っています。
monacaからMySQLに接続したいのですが、それはできないらしいので、Hostingerにある自分で作ったphpファイルに接続して、そこからMySQLに接続というかたちで行おうと考えました。

やりたい事

monacaからHostingerに作成したphpファイルに接続をしたいです。

やってみた事

http://toolmania.info/post-5420/
phpファイルに接続できているか確認するために上記のサイトで紹介しているものを作ってみました。
このサイトで紹介しているのは「ボタンを押すとあいうえお+ランダムな数字が表示される」というものです。
このサイトを見ながら既存のプログラムに組み込んでみたのですが、うまく反応しませんでした。
★★★は何をいれればよいのかわかりませんでした。

ソースコード

---------------------------【index.htmlファイル】-----------------------------------------

<!DOCTYPE HTML>
<html ng-app="BeaconProject">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta http-equiv="Content-Security-Policy" content="default-src * data:; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'">
<script src="js/db.js"></script>
</head>

<body>
<!--データベース-->
<form>
<input type="button" name="botan" id="button01" onClick="sendRequest();" value="ボタン">
<TEXTAREA id="textareas" style="width:100%;height:160px;" wrap="off"></TEXTAREA>
</form>
</ons-page>
</ons-navigator>
</html>

---------------------------【db.jsファイル】-----------------------------------------

function createXmlHttpRequest()
{
var xmlhttp=null;
if(window.ActiveXObject)
{
try
{
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e2)
{
}
}
}
else if(window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}

function sendRequest()
{
var moji="あいうえお";
var xmlhttp=createXmlHttpRequest();
if(xmlhttp!=null)
{
xmlhttp.open("POST", "★★★/tdb.php", false);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var data="data="+moji;
xmlhttp.send(data);
var res=xmlhttp.responseText;
document.getElementById( "textareas" ).value = res;
}
}

---------------------------【tdb.phpファイル】-----------------------------------------

<?php
error_reporting(0);
mb_language("ja");
mb_internal_encoding('UTF-8');

$url=$_POST["data"];
print $_POST["data"].strval(rand());
?>

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

★★★にはウェブサーバー(Hostinger)のURLが必要ではないでしょうか。回答者では推測はできません。tdb.phpの動作のテストは実施されましたか?動作のテスト時に使用したURLでよいと思います。

それで動作しなければ、一つ一つ問題を切り分けることになるかと思います。
1.monacaでコーディングしたアプリは動作しているか?
2.レンタルサーバ上のphpのコードは動作しているか?
見たところ、HTMLに「ng-app="BeaconProject"」とありますのでAngularJSを用いていると思いますが、AngularJSのライブラリが読み込めているように見えません。そもそもmonacaのコードに必要なライブラリが無く、全く動作していない可能性もあると思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.22%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる