gpt4 book ai didi

javascript - 当我在 mysql 中存储 JavaScript 变量时,它如何链接到当前用户的 ID?

转载 作者:行者123 更新时间:2023-11-29 22:25:47 25 4
gpt4 key购买 nike

假设有一个网站,有一个按钮,每次单击该按钮时,都会使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com