使用MySQL和PHP将javascript变量传递到数据库中
可能重复:使用MySQL和PHP将javascript变量传递到数据库中,php,javascript,mysql,Php,Javascript,Mysql,可能重复: 我有3个javascript变量,它们为我提供了一个id、一个姓名和一个姓氏: if (!response.error) { document.getElementById("meName").innerHTML = response.id + " " + response.name
我有3个javascript变量,它们为我提供了一个id、一个姓名和一个姓氏:
if (!response.error) {
document.getElementById("meName").innerHTML = response.id
+ " " + response.name
+ " " + response.surname ;
}
现在,我想将这些变量(response.id
、response.name
和response.name
)传递到我的数据库中
大概是这样的:
<?php
$query = mysql_query("INSERT INTO users (id, name, surname) VALUES
('response.id', 'response.name', 'response.surname')") or die(mysql_error());
$result = mysql_fetch_array($query);
return $result;
?>
好吧,ajax将是您的最佳选择
在这里检查我的答案
还可以查看一些文档:
jQuery文档
教程
您需要对存储变量的单独PHP脚本进行AJAX调用
Javascript在浏览器端运行,而PHP在服务器端运行——当浏览器在页面中运行Javascript代码时,它已经在服务器上运行完毕,因此所有PHP代码都已经执行。我相信响应是您通过ajax返回的,如果是,您应该检查两件事
首先,将ajax数据类型设置为“json”
第二,替换
return $result
到
通过。我猜您正在尝试将javascript变量传递给php
为了做到这一点,您需要使用POST或GET方法
这就是您需要的:
if (!response.error) {
var uid = response.id;
var firstname = response.name;
var surname = response.surname
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
xmlhttp.open("GET", "ajax.php?uid=" + uid + "&firstname=" + firstname + "&surname=" + surname , true);
xmlhttp.send();
return false;
}
在ajax文件中:
<?php include("YOUR_CONNECTION_FILE.php");
$uid = mysql_real_escape_string($_GET['uid']);
$firstname = mysql_real_escape_string($_GET['firstname']);
$username = mysql_real_escape_string($_GET['surname']);
$query = mysql_query(" YOUR MYSQL QUERY ") or die(mysql_error());
?>
这就是我来这里问这个问题的原因,否则我就去做,你不这么认为吗?您正在回答我的问题。首先,您必须理解客户端和服务器之间的区别。
<?php include("YOUR_CONNECTION_FILE.php");
$uid = mysql_real_escape_string($_GET['uid']);
$firstname = mysql_real_escape_string($_GET['firstname']);
$username = mysql_real_escape_string($_GET['surname']);
$query = mysql_query(" YOUR MYSQL QUERY ") or die(mysql_error());
?>