AJAX 调用无法加载更新列信息的 PHP 脚本
ajax call fails to load php script that updates column information
我有一个对 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来确保信息被正确传递,并且确实如此。所以我在这里不知所措。怎么了?有人有想法吗?
这看起来很奇怪 尝试
$userID = $_GET["userID"];
$email = $_GET["email"];
$username = $_GET["username"];
$password = $_GET["password"];
如果这没有帮助,请尝试调试/回显查询以查看发生了什么
也改变
mysql_query("UPDATE users SET email='$email' AND username='$username' WHERE uid='$userID'") or die(mysql_error());
自
mysql_query("UPDATE users SET email='$email', username='$username' WHERE uid='$userID'") or die(mysql_error());
但是由于您从未收到任何SQL错误,因此密码似乎一直为"空"
else
语句中的 SQL UPDATE 语法不正确,您使用的是 AND 而不是逗号
"UPDATE users SET email='$email', username='$username' WHERE uid='$userID'"
附带说明一下,您还通过 $_GET 接受来自请求的数据,并且在针对数据库运行数据之前不会清理该数据。
相关文章:
- 获取html表单信息并使用ajax将其推送到PHP
- 使用 jQuery 从运行 MySQL 的 PHP 脚本返回信息
- JQuery load() 注入到 DIV 中的 PHP 文件能否找到有关此 DIV 的任何信息
- 使用 JS 和 PHP 从数据库中获取信息
- php中的JavaScript函数,在点击时显示更多信息(数据库查询)
- 无法让 ajax 使用 PHP 从 MySQL 加载信息表
- 如何附加一个id's的详细信息只通过php或jquery提供一次
- 从PHP向JavaScript函数发送信息
- Ajax使用来自PHP的信息
- HTML5,CSS3,PHP联系人表单不发送信息+添加必填字段
- PHP: header() 函数不重定向.使用 HTML 或 JavaScript 重定向时,会话信息会丢失
- 按钮,显示 PHP 中表的选定行的完整信息
- 没有文件写入的 PHP 脚本正在删除文件信息
- 使用php的维基百科API只能获取有关企业的信息
- 获取邮件中的信息.php从函数.js解析为manage.html
- PHP:将信息传递给 JavaScript
- 当新信息写入文件时,如何使用 PHP 动态读取文件
- 如何使用PHP / CURL / Javascript等从 mca.gov.in 获取公司详细信息
- facebook PHP或Javascript获取用户登录信息
- 如何在标头重定向之前通过 ajax 从 php 文件中检索信息