dpz3471 2017-12-29 13:32
浏览 48
已采纳

PHP如何从数据库更新会话?

ı want to update my session variable this code:

if (isset($_POST['topla'])) {

$kazanc_cow = $_SESSION['cow'] * "0.003";
$kazanc_chicken = $_SESSION['chicken'] * "0.001";
$db_kazanc = $_SESSION['kazanc'];
$toplam_kazanc = $db_kazanc + $kazanc_chicken + $kazanc_cow;

$uid = $_SESSION['user_id'];

    $sql = "UPDATE users SET kazanc='$toplam_kazanc' WHERE id='$uid'";

if ($con->query($sql) === TRUE) {
    echo "Record updated successfully";


} else {
    echo "Error updating record: " . $conn->error;
}

I am get variable from my database $_SESSION['kazanc'] = $row["kazanc"]; using mysqli_fetch_array method. how ı update my session kazanc variable from database?

  • 写回答

1条回答 默认 最新

  • doubipiao1611 2017-12-29 13:49
    关注

    You should check the session variables actually exist before trying to work with them and when you are multiplying make sure you multiply numbers not a mix of numbers and strings. Also, to avoid SQL injection use prepared statements as a matter of course where user input is expected or possible.

    if ( isset( $_POST['topla'], $_SESSION['cow'], $_SESSION['chicken'], $_SESSION['kazanc'], $_SESSION['user_id'] ) ) {
    
        $kazanc_cow = floatval( $_SESSION['cow'] ) * 0.003;
        $kazanc_chicken = floatval( $_SESSION['chicken'] ) * 0.001;
        $db_kazanc = floatval( $_SESSION['kazanc'] );
        $toplam_kazanc = $db_kazanc + $kazanc_chicken + $kazanc_cow;
    
        $uid = $_SESSION['user_id'];
    
        $sql='update `users` set `kazanc`=? where `id`=?';
        $stmt=$con->prepare( $sql );
    
        if( $stmt ){
            $stmt->bind_param('ss', $toplam_kazanc, $uid );
    
            $result = $stmt->execute();
    
            echo $result ? 'Record updated successfully' : 'Error updating record';
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分