2014년 10월 31일 금요일

bindParam / bindValue 차이점 - (PHP PDO)

메뉴얼에도 잘 나와있지만 bindParam과 bindValue 의 차이점에 대한 좋은 예이다.

$sex = 'male';
$s = $dbh->prepare('SELECT name FROM students WHERE sex = :sex');
$s->bindParam(':sex', $sex); // use bindParam to bind the variable
$sex = 'female';
$s->execute(); // executed with WHERE sex = 'female'

$sex = 'male';
$s = $dbh->prepare('SELECT name FROM students WHERE sex = :sex');
$s->bindValue(':sex', $sex); // use bindValue to bind the variable's value
$sex = 'female';
$s->execute(); // executed with WHERE sex = 'male' 

동일한 함수이지만 변수의 평가되는 시점에 차이가 있다.
http://stackoverflow.com/questions/1179874/pdo-bindparam-versus-bindvalue

참고
mysql_connect 등의 함수는 PHP 5.5.0부터 폐기되며, 향수 제거될 예정이라고 한다.
mysql_* 등의 함수는 MySQLi 또는 PDO_MYSQL로 사용해야 한다.
http://kr1.php.net/manual/en/function.mysql-connect.php


댓글 없음:

댓글 쓰기