php - 购买后如何更新数据库中的用户?

标签 php mysql

<?php

require_once ('vendor/autoload.php');
require_once 'C:\xampp\htdocs\blog\core\init.php';

$_SESSION['user_id'] = 10;

$stripe = array(
"secret_key" => "sk_test_vDYOBYxCErhrgGCeWQJhR4mQ",
"publishable_key" => "pk_test_4mIuE3OsajKO4cnFppcDDISu"
);

\Stripe\Stripe::setApiKey($stripe['secret_key']);

$db = new PDO('mysql:host=127.0.0.1;dbname=blog', 'root', '******');

$userQuery = $db->prepare("
SELECT id, username, email, premium
FROM users
WHERE id = :user_id
");

$sql = "UPDATE users
    SET premium = 1
    WHERE id = :user_id";

$userQuery->execute(['user_id' => $_SESSION['user_id']]);

$user = $userQuery->fetchObject();

?> 

特定用户购买高级版后如何更新?

这是我让它工作的唯一方法。

我想通过用户名或电子邮件更新用户,但失败了。我希望它能够提取购买期间登录帐户的电子邮件/用户名,这样它就会在我的数据库中立即更新,并且不会更新错误的人,或者更糟的是每个人!

最佳答案

以下代码将根据给定的电子邮件地址将变量“premium”设置为 1。请注意,电子邮件必须是唯一的,否则所有拥有该电子邮件地址的用户都将成为高级用户

$sql = "UPDATE users
SET premium = 1
WHERE email = :user_email";

$userQuery->execute(['user_email' => $theEMailAddressOfTheUserThatPurchasedPremium]);

关于php - 购买后如何更新数据库中的用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29647143/

相关文章:

php - 如何为自己的 PDO 数据库类验证论坛帖子的内容? (防止 SQL 注入(inject))

php - 自动将尾部斜杠添加到 urlencoded url

php - 使用 PHP 使用 .sql 文件构建数据库

javascript - 如何将下拉菜单更改为表格格式?

mysql - MediaWiki Docker官方图像-MySQL拒绝连接

mysql - 如何根据多个排序列选择每组的第一行?

php - php错误未显示在服务器上

PHP 使用 php 日期检查数据库日期字段

php - 如何在ubuntu中使用php脚本编译c程序

php - 如何在数据进入表后24小时自动从mysql表中删除数据行?