## SQL參數綁定
參數綁定就是綁定一個PHP變量到用作預處理的SQL語句中的對應命名占位符或問號占位符。可以有效的防止SQL注入。
**注:要求無論何時盡量使用參數綁定的形式來構建SQL語句**
在系統中直接運行SQL語句操作數據庫的函數(`pdo_fetch()`、`pdo_fetchall()`、`pdo_fetchcolumn()`、`pdo_query()`)需要開發人員手動綁定參數,以`pdo_fetch()`函數為例:
~~~
$row = pdo_fetch("SELECT * FROM ".tablename('users')." WHERE username = :username", array(':username' => '米粥'));
~~~
> 上例中 :username 參數占位符,系統中只支持 :var 以冒號+變量名的占位符
> 第二個參數中 ‘:username’ 對應的值,則為要傳入的真正的值
~~~
$row = pdo_fetch("SELECT * FROM ".tablename('users')." WHERE username LIKE :username", array(':username' => '%米%'));
~~~
> 上例中演示如何綁定Like查詢
~~~
$row = pdo_query("DELETE FROM ".tablename('users')." WHERE uid = :uid", array(':uid' => '1'));
~~~
~~~
$row = pdo_query("DELETE FROM ".tablename('users')." WHERE uid IN (:uid_1, :uid_2, :uid_3)", array(':uid_1' => '1', ':uid_2' => '2', ':uid_3' => '3'));
~~~
## 禁用高危SQL函數、表達式
在微擎系統中,為了保證SQL注入安全,系統還禁用了一些SQL語句中高危的表達式、函數,開發者在開發模塊時,盡量不要使用以下關鍵字。
### 禁用函數
* load\_file
* hex
* substring
* if
* ord
* char
* updatexml
### 禁用關鍵字
* @
* into outfile
* into dumpfile
* union select
* union all
* union distinct
### 禁用一切SQL注釋
* /\*
* \*/
* #
* –
- 微擎框架
- 目錄結構
- 配置選項
- 數據庫配置($config[db])
- 系統COOKIE配置項($config[cookie])
- 系統設置($config[setting])
- 預定義常量
- 全局變量
- 全局配置
- 系統配置
- 公眾號相關
- Web 端可見
- App 端可見
- 網頁授權
- URL 路由
- url生成助手
- createMobileUrl
- createWebUrl
- 文件加載器
- func(加載公共函數)
- class(加載公共類)
- model(加載系統model函數)
- web(加載web端公共函數)
- app(加載app端公共函數)
- library(庫文件加載)
- object(實例化加載)
- singleton(單例加載)
- 緩存機制
- cache_write
- cache_load
- cache_delete
- cache_clean
- cache_system_key
- 數據庫
- SQL注入安全
- 連接其它數據庫
- 函數列表
- pdo_get
- pdo_getcolumn
- pdo_getall
- pdo_getslice
- pdo_fetch
- pdo_fetchcolumn
- pdo_fetchall
- pdo_insert
- pdo_update
- pdo_delete
- pdo_query
- pdo_run
- pdo_fieldexists
- pdo_indexexists
- pdo_tableexists
- pdo_fieldmatch
- pdo_debug
- 鏈式查詢
- from
- select
- where
- whereor
- having
- groupby
- orderby
- leftjoin
- innerjoin
- on
- limit
- page
- get
- getall
- getcolumn
- count
- exists
- getLastQueryTotal
- getLastQuery
- 錯誤處理
- 日志記錄
- 模板引擎
- 模板標簽
- 輸出變量
- 判斷語句
- 循環語句
- php語句
- 引用模板
- 創建URL
- 轉義附件URL
- 輸出花括號
- 數據調用
- 調用微站導航
- 調用幻燈片
- 調用文章列表
- 調用分類列表
- 調用快捷菜單
- 常用變量
- 附錄
- 數據庫字典
- 自定義分享