データベースに入り、情報の行を更新するphpスクリプトへのajax呼び出しがあります。変更したい提供情報を使用してブラウザにリンクを入力すると、問題なく正常に機能します。私はこれと同じ方法でいくつかのajax呼び出しを設定しましたが、それらはすべて問題なく機能します。このphpスクリプトへのajax呼び出しが何もできない理由を理解できません。
javascript呼び出し:
function updateInfo(userID, email, username, password){
var validGT;
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4){
if (xmlHttp.status == 200){
validGT = xmlHttp.responseText;
if(validGT == "Success!"){
var error = document.getElementById("update-error-message");
error.innerHTML = "Updated!";
}else{
var error = document.getElementById("update-error-message");
error.style.color = "Red";
error.innerHTML = "error occured";
}
}
}
}
xmlHttp.open("GET", "updateInfo.php?userID=" + userID + "&email=" + email + "&gamertag=" + gamertag + "&password=" + password, true);
xmlHttp.send();
}
phpスクリプト:
****connect to database and such****
$userID = $_GET{"userID"};
$email = $_GET{"email"};
$username = $_GET{"username"};
$password = $_GET{"password"};
if($password != "null"){
mysql_query("UPDATE users SET email='$email', username='$username', password='$password' WHERE uid='$userID'") or die(mysql_error());
echo "Success!";
}else{
mysql_query("UPDATE users SET email='$email' AND username='$username' WHERE uid='$userID'") or die(mysql_error());
echo "Success!";
}
mysql_close($con);
「成功!」というajax呼び出しから応答が返ってきます。ただし、実際にはデータベース内の情報には何もしません。私はfirebugを使用して、情報が正しく渡されていることを確認しました。だから私はここで途方に暮れています。何が起こってる?誰かアイデアがありますか?