MYSQL服務器並不存在共享池(我也不清楚共享池是什麼)的概念,所以在MYSQL上使用綁定變量最大的好處就是爲了防止SQL注入。
PHP例子:
$stmt = $dbh -> prepare("SELECT * FROM users WHERE username=? AND password=?");
$stmt -> execute(array($username,$password));
即使傳入的變量中,帶有"angel ' or 1=1'"的條件,但是由於綁定變量,使得輸入的參數中的單引號被正常轉義,導致後續的"or 1=1"作爲username的條件出現,而不是整個SQL語句的條件,即"angel \' or 1=1\'"。