假设有一个网站,有一个按钮,每次单击该按钮时,都会使用 javascript 将 javascript 变量“javascriptx”的值增加 +1。 UserA(MySql 表上的 id=1)登录网站并按按钮 3 次,因此 javascriptx = 2。
下次 UserA 登录时,我希望 javascriptx 仍然等于 2(假设没有再按下该按钮),因此我需要将该 javascript 变量转换为 php 变量并将其发送到 MySql。据我了解,这是正确的方法:
将以下内容添加到 JavaScript 代码中:
var xhr = new XMLHttpRequest();
xhr.open("get","/path/to/php/page.php?phpx=javascriptx");
xhr.send();
现在,php 变量“phpx”与 javascript 变量“javascriptx”具有相同的值
然后,需要将该 php 变量发送到 MySql 表,因此在 php 代码中添加以下内容:
($_GET['phpx'])
从这里开始,我迷路了。 phpx 存储在 MySql 表中的什么位置?更具体地说,它如何知道将其与 id=1 的用户放在同一行?
最佳答案
您应该使用类似 mysqli 的内容连接到 MySQL 数据库。 :
$database = new mysqli(db_host, db_username, db_pass, db_name);
然后您可以使用 prepared statements 查询数据库读/写数据。在这个粗略的示例中,数据将向您的 Web 应用程序或您发出请求的任何位置返回 JSON 响应:
//set user id from post variable
$uid = $_POST['uid'];
//store sql query as string
$sql = "SELECT phpx FROM users WHERE uid=?";
//initiate new prepared statement
$stmt = $database->stmt_init();
$stmt->prepare($sql);
//pass uid var to statement
$stmt->bind_param('s', $uid);
//store result as var
$stmt->bind_result($phpx);
$stmt->execute();
//catch errors
if ($stmt->errno) {
die("error: " . $stmt->error);
} else {
//store result and send as response
$stmt->store_result();
if($stmt->num_rows){
while($stmt->fetch()){
$phpx_packet[] = array(
"uid" => $uid,
"phpx" => $phpx
);
}
echo json_encode($phpx_packet);
}
}
//close statement
$stmt->close();
关于javascript - 当我在 mysql 中存储 JavaScript 变量时,它如何链接到当前用户的 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30282244/