CI 묻고 답하기

제목 php5.3&리눅스 환경에서 db연결 문제때문에 문의 드립니다.
글쓴이 수용이 작성시각 2013/05/03 11:50:19
댓글 : 11 추천 : 0 스크랩 : 0 조회수 : 23569   RSS

안녕하세요.
이전에도 막히는 부분이 있어서 질문하면 많은 도움을 주셔서 감사합니다.

포럼 소스 1.7.3 기반으로 로그인을 해보고있는데
class Users Model 에서
 function get_user_by_username($username, $activated = NULL)
 {
  echo "username=[".$username."]";
  $sql = "select userid from users where LOWER(userid) = LOWER(".$this->db->escape($username).") ";
  echo "sql=[".$sql;
  $query = $this->db->query($sql);
  echo "num_rows2=[".$query->num_rows();
  if ($query->num_rows() == 1) return $query->row();
  return NULL;
 }
위에서 완성된 sql찍으면  select userid from users where LOWER(userid) = LOWER('admin')
num_row() 찍으면 빈값이 나오네요 ;;
db접속해서 직접 위 쿼리 실행하면 결과값이 한개 나옵니다.

echo 가 동작하는걸로 봐서는 쿼리가 실행이 안되는것 같은데 어디가 문제일까요 ?
참고로 window서버기반에서는 잘됬거든요 ㅠㅠ


db접속 정보입니다.
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'ulsankhit';
$db['default']['password'] = '*********;
$db['default']['database'] = 'ulsankhit';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = true;
$db['default']['db_debug'] = false;
$db['default']['cache_on'] = false;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = true;
$db['default']['stricton'] = false;

 

 다음글 routes 질문입니다.- (6)
 이전글 혹시 PHPExcel 에서 pdf사용해보신분계신가요? (7)

댓글

한대승(불의회상) / 2013/05/03 12:55:34 / 추천 0
mysql 커맨드라인 유틸로 연결은 잘 되시나요?
수용이 / 2013/05/03 13:29:04 / 추천 0
커맨드 라인 유틸연결이 커맨드 창에서 telnet으로 연결 하시는거 말씀하시는건가요 ?
제가 이해 하는게 맞다면 잘됩니다.
수용이 / 2013/05/03 13:38:42 / 추천 0
컥 방금 로고확인결과
아래 에러가 나네요 ㅠㅠ
mysql_pconnect() has been disabled for security reasons /home/hosting_users/ulsankhit/www/system/database/drivers/mysql/mysql_driver.php 84

.mysql_num_rows() expects parameter 1 to be resource, null given /home/hosting_users/ulsankhit/www/system/database/drivers/mysql/mysql_result.php 37
한대승(불의회상) / 2013/05/03 13:57:52 / 추천 0
config/database.php 에서

$db['default']['pconnect'] = FALSE;

로 바꿔 주세요.
수용이 / 2013/05/03 14:01:06 / 추천 0
네 감사합니다.
해결되었습니다.
변종원(웅파) / 2013/05/03 14:06:05 / 추천 0
1.7.X 버전이 php5.3에서 에러 날텐데요? 지원하지 않는(없어진) 함수가 있어서요.

포럼소스도 2.1.3으로 업데이트 했으니까 그거 받아서 공부하세요
수용이 / 2013/05/03 14:17:54 / 추천 0
음 죄송한데 다른 에러가 또나네요.
Controller 에서 $_GET 여기에 $_GET['page'] 파란미터 값을 못읽어 오네요.
$_GET 만 찍으면 Array 로 찍히는데

아래는 파란 미터값입니다.
/index.php/b01/b01001_view/index?classgubn=null&classgubn2=null&classgubn3=null&checkbox=N&s_name=&s_tel=&year=null&worktype=null&take=100&skip=0&page=1&pageSize=100
수용이 / 2013/05/03 14:31:35 / 추천 0
그밖에도
<a href="/index.php/a01/A01001" title="과정구분관리 바로가기">
컨트롤러에 a01001.php파일을 못찾네요 404에러 나네요 ;;
테스트 서버 window에 iis기반에선 잘되던 소스 인데
리눅스 기반으로 옴기고 나서 에러가 나네요 ㅜ.ㅠ 
변종원(웅파) / 2013/05/03 15:15:19 / 추천 0
1. 윈도우에 설치하는 배포판과 iis에 설치되는 php, 리눅스에 설치되는 php의 설정이 다를 수 있습니다.

http://codeigniter-kr.org/lecture/view/197/page/1/ 에서 3번 항목 참고해서 설정 바꿔서 테스트해보세요.

그리고 일반 php에서 $_GET이 작동되는지도 테스트 해보시구요.



2. 윈도환경과 리눅스환경에서 제일 큰 실수를 하는게 대소문자입니다.
윈도는 대소문자 구분 안하죠. 리눅스는 구분합니다. A a



수용이 / 2013/05/03 16:07:37 / 추천 0

네 php버젼이 window에서는 5.0이고 리눅스에서는 5.3입니다.
그래서 에러나는 부분 수정하는게 포럼에 있어서 수정 했습니다.
 대소문자 구분은 파일 대소문자 말씀하시는건가요 ?
파일은 모두 소문자이고 컨트롤과 모델은 클래서 선언할때 첫글자는 대문자로 줬습니다.
 

수용이 / 2013/05/03 16:32:48 / 추천 0
웅파님 감사합니다.