1

私のウェブサイトには、このように機能する INSERT 操作があります。

  1. ボタンが押されると、index.html ファイルで javascript 関数が呼び出されます。
  2. JavaScript 関数では、AJAX を使用して、必要なパラメータを含むリクエストを php ファイルに送信します。
  3. php ファイルは、データベースにアクセスしてデータを挿入します。

参考までに、上記のタスクのコードを次に示します。

2.Javascript機能

function grandFinale()
{
        if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    //document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","insert.php?q=&name=" + encodeURIComponent(document.getElementById('name').value) + "&txtScore1=" + encodeURIComponent(document.getElementById('txtScore1').innerHTML),true);
xmlhttp.send();
document.location.reload();

}

1.HTMLボタン

<p id="txtScore1" align="center" style="color: #cc6699; font-size: 18px; "></p>
<label class="control-label" for="input01">Name</label>
<a href="#" class="btn btn-primary" onclick="javascript:grandFinale()" >Submit My Score</a>

3.PHPスクリプト

<?php
    $con = mysql_connect("host","uname","pword");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }

    mysql_select_db("dbname", $con) or die( "Unable to select database");

    $sql="INSERT INTO 'masterTable' ('Name', 'Score') VALUES ('{$_GET['name']}','{$_GET['txtScore1']}')";

    if (!mysql_query($sql,$con))
      {
      die('Error: ' . mysql_error());
      }
    echo "1 record added";

    mysql_close($con);
    ?>

ハードディスクでローカルに試してみると問題なく動作しますが、000webhost.com でホストした後、INSERT が機能しません。どこが間違っていたのか教えていただけますか?

4

1 に答える 1

2

最初に、000webhost.com のデータベース (uname) に設定したユーザーが INSERT 権限を持っているかどうかを確認します。

于 2012-08-06T02:14:10.583 に答える