我使用下面的代码在MySQL
中执行PHP
查询。
$cus_id = '1';
$query = new QUERY();
$clause = "SELECT * FROM customers WHERE cus_id=:cus_id AND status='ACTIVE'";
$params = array('cus_id'=>$cus_id);
$result = $query->run($clause, $params)->fetchAll();
现在的问题是:它足够安全吗?或者我是否还需要绑定静态字符串?类似的东西:
$clause = "SELECT * FROM customers WHERE cus_id=:cus_id AND status=:status";
$params = array('cus_id'=>$cus_id, 'status'=>'ACTIVE');
答案 0 :(得分:1)
它是安全的,因为ACTIVE
不是用户输入。所以你不需要绑定它。
答案 1 :(得分:1)
你拥有它的方式很好。 status
的值不是动态组合的,也不会产生任何漏洞。