mysqli에 일괄 삽입하는 가장 좋은 방법은 무엇입니까?
P粉951914381
2023-08-24 21:16:22
<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>
다시 시도해 보세요. 원본 코드를 약간 수정한 후에도 왜 작동하지 않는지 이해할 수 없습니다.
으아악삽입물을 거래에 넣으면 속도를 크게 높일 수 있습니다. 준비 및 바인드 문을 루프 외부로 이동할 수도 있습니다.
으아아아이 코드를 내 웹 서버에서 10,000번 반복 테스트했습니다.
영업 금지:
226 秒。
거래 시간:2 秒。
아니면速度提高两个数量级
적어도 이 테스트에서는요.