찾다

 >  Q&A  >  본문

mysqli에 일괄 삽입하는 가장 좋은 방법은 무엇입니까?

<p>저는 PHP와 MySQLi를 사용하여 한 번에 많은 수의 행(~2000개 행)을 삽입할 수 있는 SQL 주입 안전 기술을 찾고 있습니다. </p><p>포함해야 하는 모든 값을 포함하는 배열이 있습니다. 현재 저는 다음 작업을 하고 있습니다: </p> <pre class="brush:php;toolbar:false;"><?php $array = array("배열", "함께", "약", "2000", "값"); foreach($array를 $one으로) { $query = "INSERT INTO 테이블(링크) VALUES(?)" $stmt = $mysqli->prepare($query); $stmt ->bind_param("s", $one); $stmt->execute(); $stmt->close(); } ?></pre> <p>call_user_func_array()를 시도했지만 스택 오버플로가 발생했습니다. </p> <p>이 작업을 수행하는 더 빠른 방법(한 번에 삽입하는 것과 같은)은 무엇입니까? 그래도 SQL 삽입(예: 준비된 문) 및 스택 오버플로를 방지할 수 있습니까? </p>
P粉951914381P粉951914381463일 전527

모든 응답(2)나는 대답할 것이다

  • P粉530519234

    P粉5305192342023-08-25 15:20:13

    다시 시도해 보세요. 원본 코드를 약간 수정한 후에도 왜 작동하지 않는지 이해할 수 없습니다.

    으아악

    회신하다
    0
  • P粉340980243

    P粉3409802432023-08-25 00:31:22

    삽입물을 거래에 넣으면 속도를 크게 높일 수 있습니다. 준비 및 바인드 문을 루프 외부로 이동할 수도 있습니다.

    으아아아

    이 코드를 내 웹 서버에서 10,000번 반복 테스트했습니다.

    영업 금지:226 秒。 거래 시간: 2 秒。 아니면 速度提高两个数量级 적어도 이 테스트에서는요.

    회신하다
    0
  • 취소회신하다