【问题标题】:Job Salaries not paying out工作工资不支付
【发布时间】:2014-01-07 21:43:03
【问题描述】:

我的日常工作工资似乎没有支付,应该根据用户当前的工作支付。有人可以帮我吗?

function update_salaries()
{
    $salaries = array(
        '1' => array(5000, 1),
        '2' => array(10000, 2),
        '3' => array(15000, 3),
        '4' => array(30000, 4),
        '5' => array(50000, 5),
        '6' => array(60000, 6),
        '7' => array(70000, 7),
        '8' => array(80000, 8),
        '9' => array(90000, 9),
        '10' => array(100000, 10)
    );

    foreach ($salaries as $job)
    {
        $qry = 'UPDATE user_characters SET cash=(cash + ' . $data[0] . '),misc_points=(misc_points + ' . $data[1] . ')';
        $qry .= ' WHERE ' . $job . '!=0';
        db_query($qry);
    }
}

【问题讨论】:

  • @jszobody +1。当您找到答案时,请也修复我的问题。

标签: php cron-task


【解决方案1】:

我想你想要这样:

foreach ($salaries as $jobID => $job)
{
    $qry = "UPDATE user_characters 
            SET cash=(cash + {$job[0]}),
            misc_points=(misc_points + {$job[1]})
            WHERE jobId = {$jobID}";
    db_query($qry);
}

错误报告和打印您的查询会对您有所帮助。

【讨论】:

  • 错误:[1054] 'where 子句'中的未知列 'jobId' :: UPDATE user_characters SET cash=(cash + 5000), misc_points=(misc_points + 1) WHERE jobId = 1
  • 那么,您将他们的工作级别存储在哪一列?
  • user_characters 中的工作 :)
  • 所以使用一些基本的推理并修复查询。
猜你喜欢
  • 2017-09-02
  • 2015-05-24
  • 1970-01-01
  • 2015-12-31
  • 1970-01-01
  • 2018-08-22
  • 2016-04-19
  • 1970-01-01
  • 2022-08-23
相关资源
最近更新 更多