dougourang1856 2012-05-10 15:07
浏览 72
已采纳

如何在减去时使用php更新mysql

I want to update a table with PHP and mySQL. I need to add or subtract whatever number I select from a value already in a mysql db. It works ok when I add to "player_qty" but not when I subtract/delete. It gives me the message I want, that so many have been deleted but when I check the database, teh value is the same -- not deleting.

$register_query = "SELECT * FROM players WHERE player_id='$add_player_id' AND event_name = '$event_name'";
$register_check = mysql_query($register_query, $db); 
$register_found_users = mysql_num_rows($register_check);

if($_POST['button'] == "Add") {
    if($register_found_users>0){
    mysql_query("UPDATE players 
    SET  
    player_qty = player_qty + $add_player_qty,
    player_pickedup = '1', 
    event_user = '$event_user'  
    WHERE player_id = '$add_player_id'");
    $msg = $add_player_qty.' more ticket(s) added to '.$add_player_id.'.';
    } else {
    $insertSQL1 = "
    INSERT INTO players 
    (player_id, player_qty, player_adt, player_level, player_pickedup, event_name, event_type, event_end, event_user)
    VALUES 
    ('$add_player_id', '$add_player_qty', NULL, NULL, '1', '$event_name', '$event_type', '$event_end', '$event_user')";
    mysql_select_db($dbname, $db);
    $Result1 = mysql_query($insertSQL1, $db) or die(mysql_error()); 
    $msg = $add_player_id.' added to DB w/ '.$add_player_qty.' ticket(s)'; 
    }
}elseif($_POST['button'] == "Delete") {
    if($register_found_users>0){
    mysql_query("UPDATE players 
    SET  
    player_qty = player_qty - $add_player_qty,
    player_pickedup = '1', 
    event_user = $event_user 
    WHERE player_id = '$add_player_id'");
    $msg = $add_player_qty.' ticket(s) deleted from '.$add_player_id.'.';
    } else {
    $msg = $add_player_id.' not in database. Please add manually.'; 
    }
} else {
    //
}
      <!-- FORM TO ADD PLAYER TO DATABASE IF DOESN'T EXIST -->
      <form action="" method="post" enctype="multipart/form-data" name="form_add_player" id="form_add_player" style="display:<?php echo $css;?>;">

          <label for="add_player_id">PLAYER #: </label>
          <input type="text" name="add_player_id" id="add_player_id" value=""/>

          <label for="add_player_qty">QUANTITY: </label>
          <select name="add_player_qty" id="add_player_qty">
            <option value="1">1</option>
            <option value="2" selected>2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
            <option value="6">6</option>
            <option value="7">7</option>
            <option value="8">8</option>
            <option value="9">9</option>
            <option value="10">10</option>
          </select>

            <input name="event_end" type="hidden" id="event_end" value="<?php echo $row_get_type['event_end'];?>" />
            <input type="submit" name="button" value="Add" class="button">
            <input type="submit" name="button" value="Delete" class="button">          

      </form>
  • 写回答

2条回答 默认 最新

  • doushaqing7080 2012-05-10 15:14
    关注

    In your substraction query you are not setting the ' on one of your entry values - maybe this is causing an mysql error and thus the query does not get executed.

    mysql_query("UPDATE `players` 
     SET  
     `player_qty` = `player_qty` - $add_player_qty,
     `player_pickedup` = '1', 
     `event_user` = '$event_user'
     WHERE `player_id` = '$add_player_id'");
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题