【问题标题】:MySQL kill process is user don't got enough points PHP [closed]MySQL杀死过程是用户没有足够的积分PHP [关闭]
【发布时间】:2012-12-12 16:30:06
【问题描述】:

下面的代码就像用户点击提交时,他得到一张票(lodd)并失去五分,因为他买了一张票,得到了五分。但是我想念一个用户没有得到他买不到的五分。我希望如果用户没有获得足够的分数,那么回声会说(示例):

抱歉,您需要至少 5 个积分才能买票。

我该怎么做?现在人们只有在购买超过他们拥有的东西时才会减负。

<?php
    session_start();

    //=============Configuring Server and Database=======
    $host        =    'localhost';
    $user        =    'root';
    $password    =    '';

    //=============Data Base Information=================
    $database    =    'login';

    $conn        =    mysql_connect($host,$user,$password) or die('Server Information is not Correct'); //Establish connection with the server
    mysql_select_db($database,$conn) or die('Database Information is not correct');

    //===============End Server Configuration============

    //=============Starting Registration Script==========


    $username    =    mysql_real_escape_string($_POST['txtusername']);

    //=============To Encrypt Password===================

    //============New Variable of Password is Now with an Encrypted Value========


    $insert = "UPDATE `users` SET `points` = (`points`-5) WHERE `username` = '".$username."'";
    mysql_query($insert);

    // Other code

    $insert = "UPDATE `users` SET `lodd` = (`lodd` +1) WHERE `username` = '".$username."'";
    mysql_query($insert);

    mysql_query($insert);

    header('location: succes.php');
?>

这是五分一票的代码:

$insert = "UPDATE `users` SET `points` = (`points`-5) WHERE `username` = '".$username."'";
mysql_query($insert);

// Other code

$insert = "UPDATE `users` SET `lodd` = (`lodd` +1) WHERE `username` = '".$username."'";
mysql_query($insert);

mysql_query($insert);

【问题讨论】:

  • 您想进行选择查询,很可能...“用户现在有多少积分?”
  • @MarkB - 这里不需要额外的选择查询。看我的回答。

标签: php mysql database


【解决方案1】:

首先,mysql_* 已被弃用,因此您应该考虑在某个时候更改它们。一种选择是使用:MySQLi

回到你的问题,你可以这样做:

$insert = "UPDATE `users` SET `points` = (`points`-5) WHERE `username` = '".$username."' and points > 5";
mysql_query($insert);
if (mysql_affected_rows() > 0)
{
    // other codes

    $insert = "UPDATE `users` SET `lodd` = (`lodd` +1) WHERE `username` = '".$username."'";
    mysql_query($insert); 
}else{
    echo "You don't have enough points";
}

【讨论】:

  • 非常感谢!:)
猜你喜欢
  • 2020-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-09
相关资源
最近更新 更多