먼저 전통적인 데이터베이스 운영 방식을 살펴보겠습니다.
데이터베이스를 운영하는 전통적인 방법에는 두 가지가 있습니다.
먼저 sql 문을 작성한 다음 mysqli->query($sql)을 통해 데이터베이스를 운영합니다. (여기서 저자는 mysqli 확장 라이브러리를 사용합니다.) . 이 작업에는 아무런 문제가 없지만 수천, 수만 개의 데이터를 삽입하고 싶다면 어떻게 해야 할까요? 아직도 이렇게 SQL 문을 작성하고 데이터베이스를 운영해야 하나요? 그러면 어떤 사람들은 두 번째 방법인 여러 sql 문을 조작하는 mysqli 고유의 방법을 사용하는 것이 더 쉽다고 말할 것입니다.
-
mysqli->multi_query($sql), 다음과 같이 여러 개의 sql문을 연산하는 방법입니다. 이것이라고 생각해 알았어 문제를 완전히 해결했다면 틀렸다. 다음으로 MySQL 데이터베이스에서 sql 문을 실행하는 원리를 살펴보자!
위 그림에서 볼 수 있듯이 하나의 SQL 문을 보내든 여러 개의 SQL 문을 보내든 데이터베이스는 이를 하나씩 컴파일해야 합니다. 그러다가 데이터가 일정량에 도달하면 데이터베이스 오버헤드가 매우 커질 수밖에 없습니다. . 그렇다면 이 문제를 해결하는 방법은 무엇입니까? 이때 전처리 기술이라는 개념이 도입됐다.
<? = mysqli("localhost", "root", "123456", "student" (-> ("连接失败" . -> ->query("set names utf8" = "insert into student_info(name,age,sex,studentNo,grade) values (?,?,?,?,?)" = ->prepare( = "张三" = 30 = 0; = "1501222" = 89 ->bind_param("siisd", , , , , -> ->close();

等等,为什么values会是问号呢?这里的问号相当于一个占位符,之后只要向数据库发送数据就能够自动把数据对应的填充进去 这就是预编译技术的精髓之处,我们通过bind_param,顾名思义,就是绑定参数的意思,那么,它给谁绑定参数呢?看看上面的values (?,?,?,?,?),bind_param里面的参数一一对应 着values的每一个参数。那么bind_param里面的siisd又是什么意思呢?别急,请看下方: 参数有以下四种类型: i - integer(整型) d - double(双精度浮点型) s - string(字符串) b - BLOB(布尔值) 每个参数都需要指定类型。 通过告诉数据库参数的数据类型,可以降低 SQL 注入的风险.
$mysqli_stmt->execute();
<span style="color: #000000"> 代码如下:<br> </span>
<?php /**
* Created by PhpStorm.
* User: Administrator
* Date: 2017/7/21
* Time: 9:37 */$mysqli = new mysqli("localhost","root","123456","student");
if($mysqli->connect_error){
die("连接失败".$mysqli->error);
}
$mysqli->query("set names utf8");
$sql="select name,sex,age from student_info where id>?";
$mysqli_stmt=$mysqli->prepare($sql);
$id=1;$mysqli_stmt->bind_param("i",$id);
$mysqli_stmt->execute();//绑定结果集,传递的是引用$mysqli_stmt->bind_result($name,$sex,$age);
while($mysqli_stmt->fetch()){
echo "$name--$sex--$age"."<br>";
}//关闭资源$mysqli_stmt->free_result();//关闭预编译语句,否则数据库会一直保存$mysqli_stmt->close();//关闭连接$mysqli->close();
삽입보다 쿼리가 더 많다고 볼 수 있습니다그런 코드인데, 이 코드는 무엇을 의미하나요?
데이터베이스를 쿼리할 때 데이터베이스는 필연적으로 결과 집합을 반환한다고 상상할 수 있으므로 결과의 일부 데이터를 얻으려면 이 문장을 추가해야 합니다. 그렇다면 이 매개변수는 무엇을 의미할까요? 이 SQL 문을 보면, Bind_result의 매개변수가 SQL 문에서 쿼리하려는 필드(이름, 성별, 나이)와 일대일로 대응되는 것을 알 수 있습니다. Bind_result는 sql과 동일할 필요는 없지만 명령문의 필드 이름은 동일하지만 일반적으로 권장됩니다.
말할 것도 많지 않습니다. 위의 그림은 다음과 같이 이해될 수 있습니다. $name, $sex, $age는 참조로 전달되며 각각 첫 번째 열 주소를 가리키는 포인터와 동일합니다. 결과 집합의 행, 각 실행 while 문이 실행되면 포인터가 아래쪽으로 이동합니다
이렇게 하면 각 행의 데이터가 다음과 같이 인쇄됩니다.
위 내용은 MySQL 전처리 기술에 대한 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

tomodifyDatainAphPessess, startSessionstession_start (), 그런 다음 $ _sessionToset, modify, orremovevariables.

배열은 PHP 세션에 저장할 수 있습니다. 1. 세션을 시작하고 session_start ()를 사용하십시오. 2. 배열을 만들고 $ _session에 저장하십시오. 3. $ _session을 통해 배열을 검색하십시오. 4. 세션 데이터를 최적화하여 성능을 향상시킵니다.

PHP 세션 쓰레기 수집은 만료 된 세션 데이터를 정리하기위한 확률 메커니즘을 통해 트리거됩니다. 1) 구성 파일에서 트리거 확률 및 세션 수명주기를 설정합니다. 2) CRON 작업을 사용하여 고재 응용 프로그램을 최적화 할 수 있습니다. 3) 데이터 손실을 피하기 위해 쓰레기 수집 빈도 및 성능의 균형을 맞춰야합니다.

PHP의 사용자 세션 활동 추적은 세션 관리를 통해 구현됩니다. 1) Session_start ()를 사용하여 세션을 시작하십시오. 2) $ _session 배열을 통해 데이터를 저장하고 액세스하십시오. 3) 세션 _destroy ()를 호출하여 세션을 종료합니다. 세션 추적은 사용자 행동 분석, 보안 모니터링 및 성능 최적화에 사용됩니다.

데이터베이스를 사용하여 PHP 세션 데이터를 저장하면 성능 및 확장 성을 향상시킬 수 있습니다. 1) 세션 데이터를 저장하기 위해 MySQL 구성 : php.ini 또는 php 코드에서 세션 프로세서를 설정하십시오. 2) 사용자 정의 세션 프로세서 구현 : 데이터베이스와 상호 작용하기 위해 열린, 닫기, 읽기, 쓰기 및 기타 기능을 정의합니다. 3) 최적화 및 모범 사례 : 인덱싱, 캐싱, 데이터 압축 및 분산 스토리지를 사용하여 성능을 향상시킵니다.

phpsessionstrackuserdataacrossmultiplepagerequestsususingauniqueIdStoredInAcookie.here'showtomanagetheMeftically : 1) STARTASESSIONSTART_START () andSTAREDATAIN $ _SESSION.2) RegenerATERATESSESSIDIDAFTERLOGINWITHSESSION_RATERATERATES (True) TopreventSES

PHP에서 세션 데이터를 통한 반복은 다음 단계를 통해 달성 할 수 있습니다. 1. Session_start ()를 사용하여 세션을 시작하십시오. 2. $ _session 배열의 모든 키 값 쌍을 통해 Foreach 루프를 통과합니다. 3. 복잡한 데이터 구조를 처리 할 때 is_array () 또는 is_object () 함수를 사용하고 print_r ()를 사용하여 자세한 정보를 출력하십시오. 4. Traversal을 최적화 할 때 페이징을 사용하여 한 번에 많은 양의 데이터를 처리하지 않도록 할 수 있습니다. 이를 통해 실제 프로젝트에서 PHP 세션 데이터를보다 효율적으로 관리하고 사용하는 데 도움이됩니다.

이 세션은 서버 측 상태 관리 메커니즘을 통해 사용자 인증을 인식합니다. 1) 세션 생성 및 고유 ID의 세션 생성, 2) ID는 쿠키를 통해 전달됩니다. 3) ID를 통해 서버 저장 및 세션 데이터에 액세스합니다. 4) 사용자 인증 및 상태 관리가 실현되어 응용 프로그램 보안 및 사용자 경험이 향상됩니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
