mysql 预编译_PHP中MySQL的预处理(预编译)执行方式
MySQL的預編譯是指在創建數據庫對象時就將指定的SQL語句編譯完成,這時SQL語句已經被MySQL解析、審查,所以相對傳統的執行方式(每處理一個SQL語句就要解析SQL語句、檢查語法和語義),預編譯方式在執行數據插入、更新或者刪除操作的時候,執行效率更高。
預編譯語句優點:
提高運行效率
防止SQL注入:因為預編譯時預先已經將SQL的結構確定,在執行SQL語句時,結構不會發生改變。
PHP中MySQL的預編譯具體操作方式
編譯統一的結構
/*假定已經完成數據庫初始化操作,數據庫對象名:$pdo*/
$sql = "insert into team values (null, :team_name)";
$PDOStatement = $pdo->prepare($sql);
綁定數據到中間編譯結果
$PDOStatement->bindValue(':team_name','國安');
執行
$result = $PDOStatement->execute();
完整操作代碼
$username = 'root';
$password = '1234abcd';
$driver_options = array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8',
);
$pdo = new PDO($dsn, $username, $password, $driver_options);
//1.編譯統一的結構
$sql = "insert into team values (null, :team_name)";
$stmt = $pdo->prepare($sql);
$data_list = array(
array('name'=>'國安'),
array('name'=>'綠地'),
array('name'=>'恒大'),
array('name'=>'建業'),
array('name'=>'魯能'),
array('name'=>'申花'),
);
foreach($data_list as $row) {
//2.綁定數據到中間編譯結果
$stmt->bindValue(':team_name', $row['name']);
//3.執行
$result = $stmt->execute();
var_dump($result);
}
總結
以上是生活随笔為你收集整理的mysql 预编译_PHP中MySQL的预处理(预编译)执行方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iconpath 微信小程序_【报Bug
- 下一篇: mysql端口转发_SSH做MySQL端