개발 Q&A

제목 Mysql결과 출력하기
카테고리 PHP
글쓴이 찌은 작성시각 2021/01/14 11:02:28
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 7470   RSS

select id, concat(first_name, last_name), '', '', major, '' from student where id = 1;

의 쿼리를 데이터베이스에서 직접 실행시킬 경우, 

concat(first_name, last_name)     major  
ApplePie     IT  

와 같이 '' 이 포함되서 나옵니다.

 

하지만, 코드이그나이터로 해당 쿼리를 실행시켜 결과를 보았을경우,

Array ( [0] => Array ([concat(first_name, last_name)] => ApplePie  [] => [major] => IT ))

와 같은 결과가 나옵니다.

쿼리의 결과는 result_array()를 사용하여 반환했습니다.

공백의 경우 가장 앞에 있는 공백만 반환되고 나머지는 전부 무시당하는데

Array ( [0] => Array ([concat(first_name, last_name)] => ApplePie  [] => [] => [major] => IT [] =>))

와 같은 결과가 반환되도록 하는 방법이 궁금합니다.

 

......
$query = $this->db->query("select id, concat(first_name, last_name), '', '', major, '' from student where id = 1;");
$result = $query->result_array();
return $result;
........

 

 

 

 다음글 php 셀레니움 설치 해보신분 있나요?? (1)
 이전글 phpmyadmin 사용중 오류 (3)

댓글

한대승(불의회상) / 2021/01/14 11:05:22 / 추천 0

SQL 쿼리를 아래처럼 수정하세요.

select id, concat(first_name, last_name) AS name, '' AS sp1, '' AS sp2, major, '' AS sp3 from student where id = 1;

 

찌은 / 2021/01/14 11:23:22 / 추천 0

감사합니다!

별칭을 사용하지 않고 나타내는 방법은 없는 건가요??

쿼리의 경우 사용자가 입력하는 형식이기에 공백의 경우 별칭을 입력해달라고 하기에는 복잡해보여서 궁금합니다.

한대승(불의회상) / 2021/01/14 11:57:18 / 추천 0

없습니다.

테이블 조인시도 컬럼명이 같다면 값이 덮어쓰기가 되므로 별칭을 사용해주어야 합니다.