PDOStatement::execute — 준비된 명령문을 실행합니다(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0).
bool PDOStatement::execute ([ 배열 $input_parameters ] )
준비된 명령문을 실행합니다. 준비된 명령문에 매개변수 표시문자가 포함된 경우 다음 옵션 중 하나를 선택해야 합니다.
PDOStatement::bindParam()을 호출하여 PHP 변수를 매개변수 표시자에 바인딩합니다. 있는 경우 입력 값을 전달하고 매개변수 표시자에 바인딩된 변수를 연결하여 출력 값을 얻습니다.
또는 입력 매개변수 값으로만 배열을 전달합니다.
입력_매개변수
실행될 SQL 문에 바인딩된 매개변수만큼의 요소를 포함하는 배열입니다. 모든 값은 PDO::PARAM_STR로 처리됩니다.
여러 값을 단일 매개변수에 바인딩할 수 없습니다. 예를 들어 IN() 절에서 두 개의 값을 단일 명명된 매개변수에 바인딩할 수 없습니다.
경계 값은 지정된 숫자를 초과할 수 없습니다. input_parameters에 PDO::prepare() 준비된 SQL에 지정된 것보다 더 많은 키 이름이 있는 경우 이 명령문은 오류와 함께 실패합니다.
성공하면 TRUE를, 실패하면 FALSE를 반환합니다.
<?php/* PHP 변수를 바인딩하여 준비된 명령문 실행*/$calours = 150;$colour = 'red';$sth = $dbh->prepare('SELECT 이름, 색상, 칼로리 FROM 과일 WHERE 칼로리 < :칼로리 AND 색상 = :color');$sth->bindParam(':칼로리', $칼로리, PDO::PARAM_INT);$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);$sth->execute();?>
<?php/* 삽입된 값을 포함하는 배열을 전달하여 준비된 문을 실행합니다*/$calours = 150;$colour = 'red';$sth = $dbh->prepare('SELECT name, color, columns FROM Fruit WHERE 칼로리 < :칼로리 AND 색상 = :colour');$sth->execute(array(':칼로리' => $칼로리, ':colour' => $colour));?>
<?php/* 삽입된 값의 배열을 전달하여 준비된 명령문 실행*/$calours = 150;$colour = 'red';$sth = $dbh->prepare('SELECT 이름, 색상, 칼로리 FROM 과일 WHERE 칼로리 < ? AND 색상 = ?');$sth->execute(array($칼로리, $colour));?>
<?php/* PHP 변수를 바인딩하여 준비된 명령문 실행*/$calours = 150;$colour = 'red';$sth = $dbh->prepare('SELECT 이름, 색상, 칼로리 FROM 과일 WHERE 칼로리 < ? AND color = ?');$sth->bindParam(1, $칼로리, PDO::PARAM_INT);$sth->bindParam(2, $colour, PDO::PARAM_STR, 12);$sth->execute();?>
<?php/* 배열의 값을 사용하여 IN 절이 포함된 준비된 명령문 실행 */$params = array(1, 21, 63, 171);/* 동일한 수의 매개변수로 채워진 자리 표시자 생성 String */$place_holders = implode(',', array_fill(0, count($params), '?'));/* $params의 경우 배열의 각 값에 대해 준비할 문에는 이름이 지정되지 않은 자리 표시자가 충분히 포함되어 있습니다. 명령문이 실행되면 $params 배열의 값이 준비된 명령문의 자리 표시자에 바인딩됩니다. 이는 참조 변수가 필요하기 때문에 PDOStatement::bindParam()을 사용하는 것과 다릅니다. PDOStatement::execute()는 값에 의한 바인딩의 대안으로만 작동합니다. */$sth = $dbh->prepare("ID 선택, 연락처 WHERE id IN ($place_holders)에서 연락처 이름 선택");$sth->execute($params);?>