###前提・実現したいこと
ダウンロードの回数制限付きのサイトを作成しております。
「ダウンロードすると対応したシリアルコードの残り残数を減らす」という処理を行う箇所が上手く動作せず質問させて頂きました。
MySQLに「serialcode」と「count」というテーブルを作り、別ページからPOSTでシリアルコードを送信して、データベースの対応したレコードから今の「count」をマイナス1した値を「count」にUPDATEするというものを作ろうとしております。
下記のコードで動かすと、$_POST["serialcode"]に入っているシリアルコードは正しいものなのに、「count」がマイナス1されません。
ですが最後のechoの箇所の$_POST["serialcode"]では入力された値が表示されます。
なのでechoでは値が表示されるので別ページからPOSTの値は受け取っていると思われます。
何卒ご教示頂けますようお願い致します。
###発生している問題・エラーメッセージ
エラーメッセージが出ず、ただマイナス1されずechoの箇所の表示が出る状態となっております。
###該当のソースコード
$pdo = new PDO($dsn, $user, $password);
</div>$sql = "UPDATE serialcode_table SET count = count - 1 WHERE serialcode = :serialcode2"; $stm = $pdo->prepare($sql); $stm->bindValue(':serialcode2', $_POST["serialcode"], PDO::PARAM_STR); $stm->execute(); <div> echo "シリアルコード:{$_POST["serialcode"]}"
###試したこと
bindValueの「$_POST["serialcode"]」の箇所を直接シリアルコードの値にして書き換えると「count」はマイナス1されます。
SQL文でマイナス1する事は出来ているようです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/21 02:36