티스토리 뷰

첫번째. $link
첫번째 인자는 mysqli_connect의 결과를 넣어줍니다.
두번째. $query
문자열. 두번째 자리에는 sql문을 작성을 합니다.
세번째. return 값
false나 true || mysqli_result로 반환이 된다
boolean값으로 반환되기 때문에 if문으로 전송이 성공했는데 실패했는지 알아낼 수 있습니다.


위 코드대로 작성을 하면 이렇게 되는 것을 확인할 수가 있습니다.
이런 코드를 작성을 하다가 실수를 할 수도 있게됩니다.
그런 문제에 더 가까이 다가가는 방법을 설명해드리겠습니다.

원래는 함수에 그냥 작성했던 것을 변수로 빼서 작성을 했습니다.
이렇게 하면 좋은점은 나중에 문제가 발생했을 때 변수를 출력을 해서 문제를 확인할 수 있게됩니다.
echo로 웹페이지에 출력을 해도 php는 어디서 문제가 발생했는지 알려주지 않기 때문에
웹페이지에 뜬 코드를 MySQL Monitor에 붙여넣어서 오류가 어디서 발생하는지 알아내야 합니다.
이런 오류를 이렇게 알아내는 것보다 웹페이지에서 확실하게 보이는게 편하지 않을까요??
how to get error in php mysqli라고 검색을 해봅시다.
https://www.php.net/manual/en/mysqli.error.php
PHP: mysqli::$error - Manual
The mysqli_sql_exception class is not available to PHP 5.05I used this code to catch errors query($query);if (!$res) { printf("Errormessage: %s\n", $mysqli->error);}?>The problem with this is that valid values for $res are: a mysqli_result object , true
www.php.net

이렇게 작성을 해주시면 아까 작성했던 변수 중에 오류가 발생하면 어디서 오류가 나는지 알려주게 됩니다.
개발할 때는 이런식으로 작성을 해줘도 되는데 실제로 서비스를 할 때는 이렇게 echo로 출력을 해주면 안됩니다.
공격자가 데이터베이스가 어떤 column을 가지고 어떤 table을 가지는지 알 수 있기 때문에
공격할 수 있는 공략방법이 노출될 수 있기 때문입니다.
그래서 내부의 시스템을 외부에 보여주는 것은 위험한 행동입니다.
오류를 확인하고 싶다면 파일을 하나 생성해서 거기에서 확인을 하는 것도 나쁘지 않습니다.
'PHP&MySQL' 카테고리의 다른 글
관계형데이터베이스의 도입 (0) | 2019.09.17 |
---|---|
보안 - filtering (0) | 2019.09.09 |
PHP&MySQL 연동과 SELECT (0) | 2019.09.08 |
활용 - 글 생성 (0) | 2019.09.07 |
MySQL API 찾기 (0) | 2019.09.07 |
- Total
- Today
- Yesterday
- inline
- php
- TAG
- 생활코딩
- 언리얼엔진
- visual studio code
- javascript
- C언어
- 안드로이드 스튜디오
- 정렬
- 기초
- 생활코딩#동영상을#글로#html
- 알고리즘
- HTML
- 문자열
- 네트워크 프로그래밍
- 조건문
- PHP&MySQL
- GRID
- 차이점
- Link
- 관계형데이터베이스
- 글로
- 변수
- 선택자
- 동영상을
- css
- 객체
- 생활코딩#MySQL
- 언리얼엔진4
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |