4
$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'");
db->query("SELECT" 請幫忙。"="">
$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'");
因爲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'");
避免這類問題最好的辦法是:
我們應該檢查MySQL的保留字在創建數據庫表字段。
我們應該確保我們沒有使用任何關鍵字作爲我們的領域。
方式與此處理:
1)使用反引號(')對錶和字段名稱。
2)對於表,預先安裝數據庫名稱,如:databaseName.tableName
。
對於字段:前置表名稱如:tableName.fieldName
。
這樣,MySQL會解釋提供的不是MySQL保留關鍵字,而是數據庫表或字段名稱。
謝謝,我們是否必須在所有列名上打勾,而不是保留? – devst3r 2014-11-21 11:42:39
沒必要。但是,是的,如果我們說,它更好。 – Pupil 2014-11-21 11:43:12
如果我的答案適合您,請將其標記爲解決方案,以便其他社區成員可以獲得。 – Pupil 2014-11-21 11:43:37