728x90
php를 이용해서 mysql 쿼리에 접근 시
간혹 우리는 가장 간단한 핸드폰 번호를예로 숫자를 저장하고자 합니다.
위와 같은 고객관리 테이블이 있다고 한다면 전화번호를 저장하기 위해
php에서는 다음과 같이 접근할 것입니다.
$sql = "insert into table(짱구) values(01012345678)"
이렇게 쿼리를 통해 핸드폰 번호를 저장했다고 한다면 문제 될 게 없지 않는가요?
그럼 실행 시에 어떻게 저장되었는지 살펴보도록 하겠습니다.
뭔가 이상한 점이 있지 않은가요?
그렇다 바로 전화번호 맨 앞에 있던 0이 삭제되고 실질적으로는
10-1234-5678이라는 번호가 저장된 것입니다.
왜 이런 문제가 발생할까 여러 방면으로 찾아봤지만 별다른 내용을 못 찾던 도중
원초적인 부분에 문제가 있지 않을까 하여
sql문에서 그 문제에 대한 해답을 찾았습니다.
바로 데이터 저장 시에 '' 요놈이 문제가 되는 것입니다.
기존 $sql = "insert into table(짱구) values(01012345678)"
변경 $sql = "insert into table('짱구') values('01012345678')"
차이는 작은따옴표의 존재 유무에 있었습니다.
그럼 변경된 sql문으로 재 실행 시 제대로 저장되나 봤더니
숫자가 잘리지 않고 깔끔하게 잘 저장되었습니다.
간혹 가다가 프로그래밍을 하다 보면 이 작은따옴표를 빼먹는데
가장 기본이 되는 부분으로 신경 써서 작성할 필요가 있겠습니다.
728x90
반응형
'언어 > PHP' 카테고리의 다른 글
PHP GET/POST 데이터 받는 함수 (13) | 2022.03.11 |
---|---|
라디오 버튼 구현 (4) | 2022.02.14 |
PHP 디버깅 로그 출력 (8) | 2022.01.13 |
리눅스 FCM push message 전송 (0) | 2021.12.13 |
php logfile 출력 (0) | 2021.10.26 |
댓글