> 백엔드 개발 > PHP 튜토리얼 > 안전하고 오류 없는 PHP MySQL 코드 샘플을 만드는 방법은 무엇입니까?

안전하고 오류 없는 PHP MySQL 코드 샘플을 만드는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-14 03:30:10
원래의
939명이 탐색했습니다.

How to Create a Secure and Error-Free PHP MySQL Code Sample?

MySQL 확장을 사용한 완벽한 코드 샘플

문제:

안전하고 오류 없는 PHP 데이터베이스 쿼리를 위한 커뮤니티 학습 리소스인 이 가상 문제는 완벽한 코드 샘플을 생성하는 작업을 제시합니다. MySQL 확장을 사용합니다. 목표는 SQL 삽입, 오류 보고, XSS 삽입과 같은 일반적인 문제를 해결하는 것입니다.

해결책:

사용자 입력 처리 및 데이터 보장의 복잡성을 해결하려면 무결성을 위해 제공된 솔루션은 안전성과 단순성을 우선시합니다.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

<?php

 

header('Content-type: text/html; charset=utf-8');

error_reporting(E_ALL | E_STRICT);

ini_set('display_errors', 1);

 

$config = array(

    'host' => '127.0.0.1',

    'user' => 'my_user',

    'pass' => 'my_pass',

    'db' => 'my_database'

);

 

$connection = @mysql_connect($config['host'], $config['user'], $config['pass']);

 

if (!$connection) {

    trigger_error('Unable to connect to database: ' . mysql_error(), E_USER_ERROR);

}

 

if (!mysql_select_db($config['db'])) {

    trigger_error('Unable to select db: ' . mysql_error(), E_USER_ERROR);

}

 

if (!mysql_set_charset('utf8')) {

    trigger_error('Unable to set charset for db connection: ' . mysql_error(), E_USER_ERROR);

}

 

$result = mysql_query(

    'UPDATE tablename SET name = "'

    . mysql_real_escape_string($_POST['name'])

    . '" WHERE id = "'

    . mysql_real_escape_string($_POST['id']) . '"'

);

 

if ($result) {

    echo htmlentities($_POST['name'], ENT_COMPAT, 'utf-8') . ' updated.';

} else {

    trigger_error('Unable to update db: ' . mysql_error(), E_USER_ERROR);

}

로그인 후 복사

이 코드 샘플은 다음 키를 캡슐화합니다. 원칙:

  • 더 넓은 범위의 데이터 유형에 대한 유니코드 문자 집합을 처리합니다.
  • 느슨한 비교를 활용하여 가독성을 높입니다.
  • 데이터베이스 연결을 설정하고 특정 문자 집합을 선택합니다. 작업을 위한 데이터베이스입니다.
  • 다음을 사용하여 사용자 입력을 이스케이프하여 SQL 주입으로부터 보호합니다. mysql_real_escape_string().
  • 실패 시 Trigger_error()를 사용하여 오류를 정상적으로 처리하고 프로덕션 모드에서는 오류 메시지를 억제합니다.
  • 데이터베이스 업데이트가 성공적으로 완료되면 의도한 메시지를 출력합니다.

위 내용은 안전하고 오류 없는 PHP MySQL 코드 샘플을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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