0%

php 에서 named parameter sql 간단히 사용하기

mysql
php 에서 named parameter sql 사용하여 fetch를 간단히 할 수 있는 함수 입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/*
example
$dsn = 'mysql:host=localhost;dbname=mydatabase';
$username = 'myusername';
$password = 'mypassword';
$pdo = new PDO($dsn, $username, $password);
$pdo->exec("set names utf8");
$sql = 'SELECT * FROM mytable WHERE name = :name AND age > :age';
$param = array("param1"=>"value1", "param2"=>"value2");
*/
function named_query($sql, $param = array()){
$stmt = $pdo->prepare($sql);
if(!$stmt->execute($param)){
print_r($stmt->errorInfo());
}
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $result;
}

named parameter를 사용하면 sql injection을 방어할 수 있습니다.
또한, 문자열에 대해 일일이 따옴표(‘’)를 사용하지 않아도 되고, 코드가 간결해지는 장점이 있습니다.