将 2 个数字相加,一个来自数据库结果,另一个来自 post 数组
Add 2 numbers together, one from a database result and the other from post array
我正在尝试将 2 个数字相加。第一个数字来自数据库,表示它是 150,它来自 $sql1,第二个数字来自表单,位于 POST 数组中,表示它是 25。运行 $sql2 后,数据库中的数字应该是 175,但它仍然是 150,我有什么想法 missing/doing 错了吗?
$sql1 = "SELECT points FROM users WHERE userID = ?";
$qc1 = $pdo_conn->prepare($sql1);
$qc1->execute(array($_POST['userID']));
$result = $qc1->fetch(PDO::FETCH_ASSOC);
$points = $result + $_POST['addPoints'];
$sql2 = "UPDATE users SET points = ? WHERE userID = ?";
$qc2 = $pdo_conn->prepare($sql2);
$qc2->execute(array($points, $_POST['userID']));
根据您的代码,$result
变量将 return 来自数据库的响应作为一个数组。因此,为了获得数字,您需要从 SELECT
语句中传递字段名称。
因此,
$points = $result + $_POST['addPoints'];
应该是:
$points = $result['points'] + $_POST['addPoints'];
我正在尝试将 2 个数字相加。第一个数字来自数据库,表示它是 150,它来自 $sql1,第二个数字来自表单,位于 POST 数组中,表示它是 25。运行 $sql2 后,数据库中的数字应该是 175,但它仍然是 150,我有什么想法 missing/doing 错了吗?
$sql1 = "SELECT points FROM users WHERE userID = ?";
$qc1 = $pdo_conn->prepare($sql1);
$qc1->execute(array($_POST['userID']));
$result = $qc1->fetch(PDO::FETCH_ASSOC);
$points = $result + $_POST['addPoints'];
$sql2 = "UPDATE users SET points = ? WHERE userID = ?";
$qc2 = $pdo_conn->prepare($sql2);
$qc2->execute(array($points, $_POST['userID']));
根据您的代码,$result
变量将 return 来自数据库的响应作为一个数组。因此,为了获得数字,您需要从 SELECT
语句中传递字段名称。
因此,
$points = $result + $_POST['addPoints'];
应该是:
$points = $result['points'] + $_POST['addPoints'];