2010-03-19 4 views
1

시나리오 : PHP에서 MYSQL 저장 프로 시저를 호출하고 데이터베이스에서 일부 작업 (약 15 개 명령)을 수행해야합니다.PHP에서 MySQL로 객체 전달하기 저장 프로 시저

문제점 : - 36 개의 매개 변수로 저장 프로 시저를 호출해야합니다. 매개 변수가 많습니다. 나는이 많은 개별 매개 변수를 전달하는 것이 좋은 생각이라고 생각하지 않으며 개별 매개 변수를 전달하면 네트워크 트래픽이 증가한다고 들었다.

이 찾고 : - 나는 PHP 측에서 데이터 개체를 만들어 내가 MYSQL에서 객체의 유사한 종류를 생성하고 매개 변수로이 개체를 전달하고 MYSQL 저장 프로 시저

의 객체에서 데이터를 추출 할 수있는 방법이있다

답변

2

다른 프로그램간에 개체를 전달할 수 없습니다. 스칼라 유형의 변수 만 전달할 수 있습니다.
일부 직렬화 메커니즘을 사용하여 데이터 배열을 문자열과 역으로 변환 할 수 있습니다.

가장 쉬운 직렬화 메커니즘

우리 모두는 우리의 첫 번째 gueastbook 스크립트 :
에 사용, 분할 기반도 널리 사용되는 것들 중 json encoding 및 PHP serialize()있다한다.

+0

빠른 응답을 보내 주셔서 감사합니다. PHP에서 직렬화하고 PHP에서 다시 직렬화 할 수 있습니다. 하지만 여기에 직렬화 된 개체를 MYSQL 저장 프로 시저에 대한 매개 변수로 전달하고 MYSQL에서 병합을 해제하려고합니다. – user268982

+1

직렬화 된 객체를 MYSQL 저장 프로 시저의 매개 변수로 전달하려고한다는 것을 알고 있습니다. 따라서 저장 프로 시저에 대한 unserialize 함수를 만들어야합니다. 또는 google. PHP는 형식을 직렬화 할 수 없습니다. 모든 매개 변수를 전달하는 데는 별다른 문제가 없습니다. 임시 테이블에 넣은 다음 절차에서 선택하십시오 –

+0

저에게 아이디어를 던져 줘서 고마워요. 이제는 이것에 대해 명확히하고 저장 프로 시저의 일부 unserialize 함수를 고안하려고합니다. 나는 그것이 지금 큰 문제라고 생각하지 않는다. 다시 한 번 조언 해 주셔서 감사합니다. – user268982