[英]PHP Code Igniter Database Error
无法弄清楚这里有什么问题:
class Model_form extends CI_Model
{
function __construct()
{
// Call the Model constructor
parent::__construct();
}
function add_tree()
{
$v_treename = $this->input->post('f_treename');
$v_treedesc = $this->input->post('f_treedesc');
$v_treeid = $v_treename;
$this->db->query("INSERT INTO trees (index, tree_name, tree_desc, tree_id) VALUES (NULL, '$v_treename', '$v_treedesc', '$v_treeid') "); //PROBLEM OCCURS HERE
}
得到这个错误:
A Database Error Occurred Error Number: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'index, tree_name, tree_desc, tree_id) VALUES (NULL, 'TEST', 'TEST', 'TEST')' at line 1
我在另一个项目中使用了类似的代码,它运行良好。 使用 MAMP 在本地服务器上运行。 感谢您的任何帮助,您可以提供。
索引是 mysql 中的保留字。 您需要在列名周围加上反引号,即“index”、“tree_name”等。
索引是 mysql 中的受保护字。 使用带有反引号的 `index`。
受保护的词是在将它们称为字段时必须在查询中转义的词。 完整列表可在此处获得
这是一个 MySQL 错误,它发生是因为您的“树”表使用了“索引”列的保留字。
您可以在列名周围添加 `index` 反引号 - 甚至更好:将 'index' 列名更改为 'id' 或类似名称。
For a list of reserved words in MySQL, please see: http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.