Php 更新DB列+1(列+;1)时出错
我得到了这个错误: 错误:SQLSTATE[HY000]:一般错误:1366不正确的整数值:第1行“column\u name”列的“column\u name+1” 设置direct(直接)值,该值工作正常(无+1+1):Php 更新DB列+1(列+;1)时出错,php,mysql,sql,pdo,Php,Mysql,Sql,Pdo,我得到了这个错误: 错误:SQLSTATE[HY000]:一般错误:1366不正确的整数值:第1行“column\u name”列的“column\u name+1” 设置direct(直接)值,该值工作正常(无+1+1): 我无法理解为什么此列\u name=column\u name+1不起作用。数组有问题吗?参数替换被视为文本值,而不是要计算的表达式。因此,您正在尝试执行SET column\u name='column\u name+1'是的,先生,我正在尝试执行SET column\u
我无法理解为什么此列\u name=column\u name+1不起作用。数组有问题吗?参数替换被视为文本值,而不是要计算的表达式。因此,您正在尝试执行
SET column\u name='column\u name+1'
是的,先生,我正在尝试执行SET column\u name=column\u name+1
echo$query='UPDATE'.$this->table.'SET'。内爆('=?,','字段)。'=?WHERE.$WHERE代码>除了你之外,没有人知道$values
是什么。我知道你想做什么。您不能使用查询参数执行此操作。
public function update($where,$values){
$fields = array_keys($values);
$query = 'UPDATE '.$this->table.' SET '.implode('=?,',$fields).'=? WHERE '.$where;
$this->execute($query,array_values($values));
return true;
}
$AutorDB = (new Database('tablename'))->update('id = '.$ID,[
'column_name' => 'column_name + 1'
]);
$AutorDB = (new Database('tablename'))->update('id = '.$ID,[
'column_name' => 37
]);