AJAX和PHP/SQL错误位置的不确定性


AJAX and PHP/SQL Uncertainty over the location of a error

我只是想更新数组中的一个元素,但由于某种原因,该信息似乎没有通过。下面是发送数据的javascript:

var xmlhttp = new XMLHttpRequest();
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) {
        // Do Nothing
    }
}
xmlhttp.open("GET","updateGame.php?q=" + str + "&e=" + recordText,true);
xmlhttp.send();

其中recordText在别处声明。

这是希望接收qe的PHP:

<?php
$q = intval($_GET['q']);
$e = strval($_GET['e']);

$servername = "localhost";
$username = "*****";
$password = "*****";
$dbname = "*****";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
$sql = "UPDATE Games SET entries=$e WHERE PINs=$q";
$result = $conn->query($sql) or die($conn->error);
$conn->close();
?>

我已经检查过了,没有更新的信息

我修复了你的Ajax文件,在这里,它工作得很好,我还修改了你的PHP文件返回数据只是为了测试的目的。用给定的名称创建两个文本文件,复制粘贴next代码并从浏览器运行:

eli_davies_1.php

<html>
  <head>
    <script type="text/javascript">
function ajax_send ( a )
{ var ajax = false;
  if ( window.XMLHttpRequest )
       ajax = new XMLHttpRequest();
  else if ( window.ActiveXObject )
            ajax = new ActiveXObject( "Microsoft.XMLHTTP" );
  if ( ajax )
       { var qq = document.getElementById( "txt_q" ).value;  // DATA TO SEND.
         var ee = document.getElementById( "txt_e" ).value;  // DATA TO SEND.
         ajax.open("GET","eli_davies_2.php?q=" + qq + "&e=" + ee );  // EXECUTE PHP.
         ajax.onreadystatechange =
            function ()
            { if ( ( ajax.readyState ==   4 ) &&
                   ( ( ajax.status   ==   0 ) ||
                     ( ajax.status   == 200 ) ) )
                 { var d = document.getElementById( "div_result" );
                   d.innerHTML = ajax.responseText;  // DISPLAY DATA RETURNED.
                 }
            }
         ajax.send( null );
       }
}
    </script>
  </head>
  <body>
    <input type="text" id="txt_q" value="123" />
    <br/>
    <input type="text" id="txt_e" value="xyz" />
    <br/>
    <button onclick="ajax_send()">Send data</button>
    <br/>
    <div id="div_result"></div>
  </body>
</html>

eli_davies_2.php

<?php
$q = intval($_GET['q']);
$e = strval($_GET['e']);
echo "Data received = >" . $q . "< and >" . $e . "<";  // DATA RETURNED (FOR TESTING ONLY).
/*
$servername = "localhost";
$username = "*****";
$password = "*****";
$dbname = "*****";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
$sql = "UPDATE Games SET entries=$e WHERE PINs=$q";
$result = $conn->query($sql) or die($conn->error);
$conn->close();
*/
?>