Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更新DB列+1(列+;1)时出错_Php_Mysql_Sql_Pdo - Fatal编程技术网

Php 更新DB列+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

我得到了这个错误:

错误: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 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
          ]);