Php 使用函数使用PDO更新表

Php 使用函数使用PDO更新表,php,mysql,pdo,Php,Mysql,Pdo,我希望能够将列名作为arg,然后将新信息作为arg2放入列中。我能得到一些帮助吗?谢谢 public function update($info, $new_info){ try{ $con=$this->connection; $con->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $sql='UPDATE users SET

我希望能够将列名作为arg,然后将新信息作为arg2放入列中。我能得到一些帮助吗?谢谢

public function update($info, $new_info){
        try{
            $con=$this->connection;
            $con->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

            $sql='UPDATE users SET $info=:info WHERE username=:username';

            $prepare=$con->prepare($sql, array(PDO::ATTR_CURSOR=>PDO::CURSOR_FWDONLY));
            $prepare->execute(array(':info'=> $new_info, ':username'=>$this->username));
        }catch(PDOException $e){
            echo '<br/><b>Error:</b> ', $e->getMessage();
        }
    }
公共功能更新($info,$new\u info){
试一试{
$con=$this->connection;
$con->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常);
$sql='UPDATE users SET$info=:info其中username=:username';
$prepare=$con->prepare($sql,数组(PDO::ATTR_CURSOR=>PDO::CURSOR_FWDONLY));
$prepare->execute(数组(':info'=>$new_info':username'=>$this->username));
}捕获(PDO$e){
回显“
错误:”,$e->getMessage(); } }
尝试不使用单引号:

$sql="UPDATE users SET $info=:info WHERE username=:username";

看起来不错,有什么问题吗?当我运行它时,它说:Error:SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解使用nearI的正确语法我不知道如何在不使用变量的情况下设置列名。我还尝试将其设置为:column,然后为其分配变量。对我来说似乎什么都不管用。