본문 바로가기

Dev

PHP의 implode와 explode를 자바스크립트에서 1. 배열을 한 문자열 변수로 합치고 싶을때. var arrString = Array('1','2','3','4'); var str = arrString.join("-"); alert(str); // 1-2-3-4 2. 문자열 변수를 배열로 나누고 싶을때. var str= "a-b-c"; var arrString = str.split("-"); alert(arrString[0]); // aalert(arrString[1]); // balert(arrString[2); // c 더보기
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource 에러 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource .... 이런 경우에는 설정해 놓은 php구문이 지정한 테이블에 내용이 없을 때 자주 생기는 에러입니다. 정확하게 말하면 에러는 아니죠 warning이니까요 ... ㅎㅎ 위와 같은 에러가 발생하면 코드에서 에러가 발생한 라인으로 가서 @를 넣어주면 해결 됩니다... 예를 들어...에러가 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in/home/.../xxxx.php on line 296 일 경우에 line 296 코드 => while($row = .. 더보기
소문자를 대문자로 변환 후 저장 update 테이블명 set 필드명 = upper(필드값) where 조건식; 소문자-> 대문자: upper(user)대문자-> 소문자: lower(user) 더보기
can't create table (errno 121) errno 121 메세지는 어딘가에서 이미 사용하고 있는 CONSTRAINT를 더하려고 할 때 나타난다. 그러므로, CONSTRAINT는 반드시 DATABASE 내에서 UNIQUE 해야 한다는 것 !!!! http://blackbull.tistory.com/15 더보기
MySQL 외래키 설정 예시 Mysql에서 innodb 는 상용DB와 비슷한 기능들을 지원한다. 물론 아직도 지원하지 않는 기능이 많지만... 그럭저럭 쓸만하다. 다음은 그중 외래키 지원에 관한것이다. 외래키란 A, B 라는 테이블이 있을경우 A 테이블 Key 값을 참조하여 B 테이블에서 사용할때 B테이블의 Key를 외래키라고 한다. 참고로 A 테이블의 참조하는 키를 참조키라고 한다. 그러므로 A 테이블의 참조키와 B 테이블의 외래키값은 동일한 값이 들어간다. 그외 자세한 내용은 인터넷에 많으니 찾아보시고... ^^ 그러나 Web 쪽에서 Mysql 이 많이 사용되다 보니 거의 외래키를 사용할일이 없고.. 웹호스팅사에서도 거의 InnoDB는 잘 지원하지 않다 보니 자주 사용되지는 않는다. Mysql 서버를 독자적으로 쓰거나.. 또는 .. 더보기
DATETIME과 TIMESTAMP의 차이 지원되는 범위 DATE : '1000-01-01' ~ '9999-12-31'DATETIME : '1000-01-01 00:00:00' ~ '9999-12-31 23:59:59'TIMESTAMP : '1970-01-01 00:00:00' ~ '2037-12-31 23:59:59' 기본값 현재의 날짜와 시간의 사용 여부 : INSERT시 특별히 지정하지 않아도 자동으로 값이 적용가능?DATETIME : 사용불가TIMESTAMP : CURRENT_TIMESTAMP 사용 가능 ON UPDATE 구문으로 자동으로 값을 수정할 수 있나?DATETIME : 사용불가TIMESTAMP : 사용가능 테이블에서 같은 자료형이 둘 이상 있는 경우 특징은?DATETIME : 특별히 없다.TIMESTAMP : 기본값을 적용할 수.. 더보기
PHP 소켓통신 PHP 소켓통신을 하려면 php.ini 설정파일에서 extension=php_sockets.dll 주석을 없애줘야한다. (그리고 아파치 재부팅) 클라이언트에서 서버로 메세지를 보낼때. socket_write에서 전송할 메세지를 보낼때, 마지막에 \n을 붙여준다. 이 메세지의 전송이 끝났다는것을 의미한다. define("_IP", "1.223.109.212"); define("_PORT", "9090"); $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 소켓 생성 $con = socket_connect($socket, _IP, _PORT); // 소켓을 IP와 PORT에 결합 socket_write($socket, "msg\n"); // 소켓 메세지.. 더보기
Warning: mysql_connect(): Connecting to 3.22, 3.23 & 4.0 is not supported. Warning: mysql_connect(): Connecting to 3.22, 3.23 & 4.0 is not supported. Server is 4.0.27 in 경로 에러메세지 발생시 http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=366283에서 답하는것 처럼. PHP의 낮은버전 사용 또는 MySQL의 상위버전 사용이다. 그런데 사내 다른 사람의 컴퓨터로는 같은 php파일이어도 접속에러가 안뜨고 잘되는데나만 에러가 뜨고, 버전의 차이는 마이너버전밖에 차이가 없어서 버전의 문제는 아니다라고 생각하고 php.ini나 mysql 설정을 건드려보다 결국 안되서 php를 5.4 버전에서 5.2 버전으로 다운시키니 .. 더보기
Mysql Error 1045 Windows에서 첫 설치시 암호를 설정하게 되면 root@localhost로 로그인할 권한이 없다면서 서비스 시작시 Error 1045를 내 뱉는다.검색결과 재설치를 하는것이 가장 좋은 방법이라고들 하지만 다른 방법도 있다는 것을 적고싶다. 우선 cmd 창을 열고 mysql 서비스를 중지시킨다. >> net stop mysql 비인증로그인이 가능하도록 mysql을 다시 실행시킨다. >> mysqld --skip-grant>> mysql -uroot mysql 이제 비밀번호가 없어도 root 권한으로 mysql을 사용할 수 있다.mysql DB를 열고 암호를 재설정한 뒤 권한을 부여한다. mysql> use mysql;mysql> update user set password=PASSWORD('1111').. 더보기
텍스트파일 데이터 테이블에 저장하기 LOAD DATA INFILE ' 파일경로' INFO TABLE '테이블명' FIELDS TERMINATED BY '구분자' 명령어를 이용하면 된다. (mysql 접속해서) insert 구문보다 빠르다고 한다. 참고1: http://www.superuser.co.kr/database/mysql/load-data-infile.htm참고2: http://promisej7.tistory.com/109 더보기