繁体   English   中英

PHP 代码点火器数据库错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM