MySQL OpenCart 查询代码语法错误

MySQL query code syntax error in OpenCart

不知道为什么报错:

Fatal error: Uncaught Exception: Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '* FROM mydatabase_customer SET status='0' WHERE customer_id='11'' at line 1
Error No: 1064
INSERT INTO * FROM mydatabase_customer SET status='0' WHERE customer_id='11' in /home/nedas/domains/mypage.com/public_html/opencart/system/library/db/mysqli.php:40 Stack trace: #0 /home/nedas/domains/mypage.com/public_html/opencart/system/library/db.php(45): DB\MySQLi->query('INSERT INTO * F...') #1 /home/nedas/domains/mypage.com/public_html/opencart/catalog/controller/account/success.php(29): DB->query('INSERT INTO * F...') #2 /home/nedas/domains/mypage.com/public_html/opencart/system/engine/action.php(79): ControllerAccountSuccess->index() #3 /home/nedas/domains/mypage.com/public_html/opencart/catalog/controller/startup/router.php(25): Action->execute(Object(Registry)) #4 /home/nedas/domains/mypage.com/public_html/opencart/system/eng in /home/nedas/domains/mypage.com/public_html/opencart/system/library/db/mysqli.php on line 40

我的代码:

        if ($this->customer->isLogged()) {
        $status = '0';
        $id = $this->customer->getId();
        $this->db->query("INSERT INTO * FROM perkulenkijoje_customer SET status='$status' WHERE customer_id='$id'");
        echo ("Info: Insert done");
    } else {
        echo ("Info: Please log in");
    }

请帮帮我。

如何使用opencart平台成功插入数据库?

看起来你想要UPDATE数据不做INSERT,应该是这样的:

$this->db->query("UPDATE perkulenkijoje_customer SET status='$status' WHERE customer_id='$id'");

如果你想改变一个值你应该使用更新

     UPDATE perkulenkijoje_customer
     SET status='$status' WHERE customer_id='$id'

无论如何,你不应该在 sql 中使用 php var 你有 sql 注入的风险.. 为此,请查看为你的数据库驱动程序准备的语句和绑定参数

要保持​​ opencart 数据库结构(我的意思是前缀),您需要使用这样的查询

$this->db->query("UPDATE " . DB_PREFIX . "perkulenkijoje_customer SET status = '" . (int)$status . "' WHERE customer_id = '" . (int)$id . "'");

如果您将此查询移动到模型文件并在控制器中调用它,那就更好了。