$upper = $this->db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE key='ndz_limit_up'");
$lower = $this->db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE key='ndz_limit_down'");
Run Code Online (Sandbox Code Playgroud)
请帮忙.
因为,key是MySQL保留的关键字.
http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
请使用反对该单词的后退key.
$upper = $this->db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE `key`='ndz_limit_up'");
$lower = $this->db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE `key`='ndz_limit_down'");
Run Code Online (Sandbox Code Playgroud)
避免此类问题的最佳方法是:
我们应该在创建DataBase表字段时检查MySQL保留关键字.
我们应该确保我们没有使用任何关键字作为我们的领域.
解决这个问题的方法:
1)对表和字段名称使用反引号(`).
2)对于表,前缀数据库名称如:databaseName.tableName.
对于字段:前置表名称,如:tableName.fieldName.
这样,MySQL将解释所提供的不是MySQL保留关键字,而是数据库表或字段名称.