gpt4 book ai didi

PHP/MySQL 跟踪使用情况

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

我试图用调用函数时的总使用次数来更新我的表。我需要做的是捕获以前的使用次数,然后添加一个。我对如何解决这个问题有一个很好的总体想法,但我不太知道如何获得具有各自用途的唯一 ID。这就是我到目前为止所拥有的......

<?php
$query = $conn->query('select name, uses from users');
$i = 0;
while($r = $query->fetch(PDO::FETCH_OBJ)){
$name[$i] = $r->name;
$uses[$i] = $r->uses;
$i = $i+1;
}
if(isset($_POST['mName']))
{
$mName = urldecode($_POST['mName']);
$mUses = $uses + 1;

"UPDATE users
SET uses=:uses WHERE name=:name";
$stmt = $conn->prepare($sqlUPDATE);
$stmt->bindParam(':uses', $mUses);
$stmt->bindParam(':name', $mName);
$stmt->execute();
?>

我可以看到我的问题是我将 use 变量分配给一个数组,我不知道如何将其特定于用户名。这是我缺少的简单 SQL 查询吗?

最佳答案

您可以将数据存储在名为 $uses 的数组中,键是用户名,值是使用次数。然后,如果您检测到设置了 mName 参数的 POST,则可以使用该名称引用 $uses 数组并获取使用次数,然后加 1。

<?php
$query = $conn->query('select name, uses from users');
while($r = $query->fetch(PDO::FETCH_OBJ)){
$uses[$r->name] = $r->uses;
}
if(isset($_POST['mName'])) {
$mName = urldecode($_POST['mName']);
$mUses = $uses[$mName] + 1;
$sqlUPDATE = "UPDATE users SET uses=:uses WHERE name=:name";
$stmt = $conn->prepare($sqlUPDATE);
$stmt->bindParam(':uses', $mUses);
$stmt->bindParam(':name', $mName);
$stmt->execute();
}
?>

虽然这里没有错误检查和处理。如果碰巧有一个带有 mName 的 POST 并且该名称不存在,则不会更新任何内容,但不会为新用户插入任何内容。另外,如果可能的话,最好使用用户的 ID,而不是使用名称。

关于PHP/MySQL 跟踪使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34273227/

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