查询绑定在CodeIgniter 3中不起作用

Fib*_*con 2 php mysql codeigniter

我有一个非常简单的查询,在CI中失败:

$sql = "INSERT INTO tenant (name, image, url) VALUES (?, ?, ?)";
$this->db->query($sql, $name, $image, $url);
Run Code Online (Sandbox Code Playgroud)

当我尝试执行此查询时,我最终得到以下错误:

发生数据库错误

错误号码:1064

您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第1行的'?,?,?)'附近使用正确的语法

INSERT INTO租户(名称,图片,网址)VALUES(?,?,?)

文件名:models/Tenant.php

行号:107

使用的所有变量都是正确定义的,我可以通过将其转换为此来使其工作没有问题:

$this->db->query("INSERT INTO tenant (name, image, url) VALUES ('$name', '$image', '$url')");
Run Code Online (Sandbox Code Playgroud)

任何变量都没有什么特别之处 - 它们都只是字符串.查询绑定需要什么才能在这里工作?

Ren*_*rss 5

看一下有关查询绑定的文档.query有两个论点.您的绑定应该在一个数组中.

$sql = "INSERT INTO tenant (name, image, url) VALUES (?, ?, ?)";
$this->db->query($sql, array($name, $image, $url));
Run Code Online (Sandbox Code Playgroud)