0

私はphpとmysqlを初めて使用するので、明らかな何かが欠けている可能性がありますが、次のようになります。

在庫のある商品を保管するためのデータベースをセットアップしています。各アイテムには、在庫数 (例: 5) が割り当てられます。各アイテムは私のウェブページに表示され、データベースの在庫を手動で追加または削除するためのボタンが横に表示されます。

  $query = "SELECT * FROM classes";

// This uses a mysql function that act upon our $query variable above
    $result = mysql_query($query);

// This is a loop that says "while there is data to display...keep looping round and displaying that data".
    while($class_data = mysql_fetch_array($result)) {

// Now we are going to echo that data
        echo 
        "<div class=\"classmanagertablecontent\">" . $class_data['name'] . "</div>
        <div class=\"classmanagertablecontent\">" . $date['date'] . "</div>
        <div class=\"classmanagertablecontent\">" . $class_data['stock'] . "</div>
        <div class=\"classmanagertablecontent\">" . $class_data['button_paypal'] . "</div>";

        <form action="../url.php" method="post">
            <input type="hidden" name="button_paypal_fromform" value="<?php echo $class_data['button_paypal'] ?>">
            <input type="submit" value="remove stock" name="remove stock">
        </form>

        <form action="../url.php" method="post">
            <input type="hidden" name="button_paypal_fromform" value="<?php echo $class_data['button_paypal'] ?>">
            <input type="submit" value="add to stock" name="add to stock" >
        </form>
        </div>
    }

「在庫に追加」ボタンが投稿する URL のコードは次のとおりです。

    <?php 
        $button_paypal = $_POST['button_paypal_fromform'];

        mysql_query("UPDATE classes SET stock = stock+1 WHERE button_paypal = ". $button_paypal ."");
?>

何らかの理由で WHERE button_paypal = "a number" は動作します... ...しかし、button_paypal = "a string" の場合は何もしません。

私はこれについて頭を悩ませることができません。私が使用するペイパルのホストされたボタンは、文字と数字で構成されているため、この 2 つの組み合わせで機能する必要があります。

私が試してみました...

echo "$button_paypal";

...私のurl.phpページで、ボタンは正常に表示されます(例:SD76S9SFGV)

私のデータベースでは、「button_paypal」は TEXT フィールドですが、VARCHAR も試しました。ストックはINTです。

誰かが助けてくれれば、私はとても感謝しています。ありがとう。#hopethismakessense

4

1 に答える 1