PHP에서 MySQL 쿼리와 함께 배열을 효율적으로 사용하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-11-26 19:08:11
원래의
168명이 탐색했습니다.

How to Efficiently Use Arrays with MySQL Queries in PHP?

MySQL 쿼리에서 배열 사용(PHP): 종합 가이드

MySQL 쿼리는 배열을 통합하여 매개변수를 지정함으로써 향상될 수 있습니다. 이를 통해 단일 문 내에서 여러 값을 효율적으로 처리할 수 있습니다.

접근 방법 1: 준비된 문

준비된 문은 쿼리에 동적 값을 추가하는 안전하고 효율적인 방법을 제공합니다. . 준비된 문을 사용하면 각 배열 요소를 매개 변수로 반복적으로 바인딩할 수 있습니다.

$mysqli = new mysqli(...);
$sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id = ?";
$stmt = $mysqli->prepare($sql);

foreach ($ids as $id) {
    $stmt->bind_param("i", $id);
    $stmt->execute();
    echo "Updated record ID: $id\n";
}
로그인 후 복사

접근 방법 2: 쿼리의 매개 변수 자리 표시자

또는 다음을 포함할 수 있습니다. 쿼리 자체에 매개변수 자리 표시자를 추가하고 모든 배열 요소를 하나로 바인딩합니다. 단계:

$sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id IN (?)";
$stmt = $mysqli->prepare($sql);

$types = str_repeat("i", count($ids));
$args = array_merge(array($types), $ids);
call_user_func_array(array($stmt, 'bind_param'), ref($args));

$stmt->execute();
echo "Updated record IDs: " . implode(",", $ids) . "\n";
로그인 후 복사

어떤 접근 방식을 선택해야 합니까?

선택은 특정 사용 사례에 따라 다릅니다.

  • 접근 방식 1: 각 레코드를 반복적으로 처리하고 잠재적으로 수행하려는 UPDATE 또는 INSERT 작업에 적합합니다. 다양한 작업.
  • 접근 방법 2: SELECT 또는 DELETE 작업에 적합하거나 단일 데이터베이스 요청에서 동일한 데이터로 여러 레코드를 업데이트해야 하는 경우에 적합합니다.

준비의 혜택 문

  • SQL 주입 취약점을 방지합니다.
  • 컴파일된 문을 재사용하여 성능을 향상합니다.
  • 매개변수 값만 유선으로 전송하여 데이터 전송을 줄입니다.

준비된 진술을 사용하는 것은 귀하의 정보를 보호하는 중요한 보안 조치라는 점을 기억하십시오. 악의적인 공격으로부터 데이터베이스를 보호하세요.

위 내용은 PHP에서 MySQL 쿼리와 함께 배열을 효율적으로 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿