占位符PHP

■ “占位符”的意思是

防止SQL注入攻擊(第三方對數據庫執行不必要的SQL)等方法。以防止惡意第三方執行未被開發人員預期的命令,刪除數據表等操作。

即使意外输入了非法值,第三方也无法执行SQL命令。

在SQL语句中直接写入PHP变量是不允许的!

SQL注入很容易实现!!

//■ダメな例
$sql = "SELECT * FROM user WHERE name= '$name'";

■使用占位符。

可以使用冒号(:)来指定变动的位置。在字符串列中,不需要使用单引号。
将占位符的名称设置为与列名相同可以更容易理解。

$sql = "SELECT * FROM user WHERE name= :name";

绑定实际值到占位符上。
在这里指定使用占位符。

$sql = "SELECT * FROM user WHERE name= :name";

//bindValue('プレースホルダ名',バインドするデータ,データの型);
bindValue(':name', $name, PDO::PARAM_STR);

参数类型:文字型:PARAM_STR、数值型:PARAM_INT、大型对象(如图像数据):PARAM_LOB、空值:PARAM_NULL。

bannerAds