PHP에서 MySQL 매개변수를 동적으로 바인딩
애플리케이션에서 매개변수를 준비된 SQL 쿼리에 동적으로 바인딩해야 하는 시나리오에 직면하게 됩니다. 현재 접근 방식은 작동하지만 특히 다양한 수의 매개변수를 처리할 때 다양성이 부족합니다.
원하는 유연성을 얻으려면 call_user_func_array() 및 압축 해제 연산자(...$를 사용하여 다음 기술을 활용할 수 있습니다. var):
public function get_custom_result($sql, $types = null, $params = null) { $stmt = $this->mysqli->prepare($sql); $stmt->bind_param($types, ...$params); if (!$stmt->execute()) return false; return $stmt->get_result(); }
이 업데이트된 get_custom_result() 메서드를 사용하면 $types 및 $params 인수입니다. ...$params 구문은 배열의 압축을 풀고 각 값을 개별적으로 bind_param() 메서드에 전달합니다.
예를 들어 다음 쿼리 및 매개변수 값을 고려해 보세요.
$sql = " SELECT * FROM root_contacts_cfm WHERE root_contacts_cfm.cnt_id = ? AND root_contacts_cfm.cnt_firstname = ? ORDER BY cnt_id DESC"; $params = ['1', 'Tk'];
다음을 수행할 수 있습니다. 이제 동적 매개변수 바인딩을 사용하여 쿼리를 실행합니다.
$res = $output->get_custom_result($sql, 'ss', $params); while ($row = $res->fetch_assoc()) { echo $row['fieldName'] .'<br>'; }
위 내용은 PHP에서 매개변수를 MySQL 쿼리에 동적으로 바인딩하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!