2

我对 codeigniter 有点陌生,我正在尝试运行这个简单的查询:

DESCRIBE `table_name`;

我试过这个:

$sql = 'DESCRIBE ?';
$desc = $this->db->query($sql, $table)->result();

这会创建此查询:

DESCRIBE 'table_name';

如您所见,当我绑定 $table 变量时输出了错误的引号;它们是值引号 ('),而不是表引号 (`)。我做错了吗?

谢谢你!

4

1 回答 1

3

CodeIgniter 的查询绑定将为您转义。它假定数据是一个值,而不是表名。

你必须自己逃避价值。

$table = $this->db->escape_str($table);
$sql = "DESCRIBE `$table`";
$desc = $this->db->query($sql)->result();
于 2011-01-21T19:33:20.447 回答