我的更新功能是否正确(PHP)

时间:2016-05-13 16:33:36

标签: php sql

我收到错误:

  

致命错误:未捕获的异常'PDOException',消息>'SQLSTATE [42000]:语法错误或访问冲突:1064   您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行''1'WHERE name_enterprise ='111''附近使用正确的语法   第29行的C:\ wamp \ www \ project \ models \ Db.class.php。

我想知道我的查询是否正确,提前谢谢。

   public function update_enterprise2($name_enterprise,$address_enterprise){
        $query = 'UPDATE enterprises SET name_enterprise='. $this->_db->quote($name_enterprise) .',address_enterprise'. $this->_db->quote($address_enterprise).'WHERE name_enterprise=' . $this->_db->quote($name_enterprise);
        $this->_db->prepare($query)->execute();
    }

1 个答案:

答案 0 :(得分:1)

这是您设置预备声明的方式。

function update_enterprise2($name_enterprise, $address_enterprise) {
    $query = '
            UPDATE enterprises SET 
                name_enterprise = :name_enterprise,
                address_enterprise = :address_enterprise
            WHERE 
                name_enterprise = :name_enterprise2
            ';
    if ($con = $this->_db->prepare($query)) {
        $con->execute([
            ':name_enterprise' => $name_enterprise,
            ':address_enterprise' => $address_enterprise,
            ':name_enterprise2' => $name_enterprise,
        ]);
    }
}

请注意,您只能使用名称参数一次,因此您需要更改名称才能使用它们两次。