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

时间:2015-04-15 09:56:59

标签: 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();

?> 

如何在购买保费后更新某位用户?

这是我能让它发挥作用的唯一方法。

我想通过用户名或电子邮件更新用户,但我失败了。我希望它能够在购买过程中提取已登录帐户的电子邮件/用户名,因此它会在&amp;之后立即在我的数据库中更新。不会更新错误的人,或更糟糕的每个人!

1 个答案:

答案 0 :(得分:3)

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

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

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