使用php语句更新MySQL数据库

时间:2014-03-02 01:43:01

标签: php mysql modx

我正在尝试使用以下函数更新MySQL数据库中的值,该函数创建一个更新语句,从 places <中的现有值中减去 $ seats 变量的值/ strong>数据库中的字段。 下面的代码返回0而不是使用$ seats变量的值减少places值。

    $update_seats = update_places($id);

    function update_places($id) {
         global $modx;
         $table = "`database_name`.`table_name`";
         $update_seats = '`places`' - $seats;
         $result = $modx->db->update( '`places` = ' . $update_seats, $table, '`id` = "' . $id . '" AND `places` > 0' );
         return $result;         // Returns 'true' on success, 'false' on failure.

}

非常感谢任何帮助纠正我的语法。

1 个答案:

答案 0 :(得分:0)

$seats变量在函数内部未定义,您需要使用:

function update_places($id, $seats)

然后将其称为$update_seats = update_places($id, 123);

另外,将您的查询更改为更正确:

$result = $modx->db->update( '`places` = ' . $update_seats, $table, '`id` = ' . intval($id, 10) . ' AND `places` >= ' . $seats );