2013-05-02 2 views
1

Oracle DataBase 및 CakePHP 2.3 이상을 작업 중입니다. CakePHP는 오라클을 지원하지 않으므로 (드라이버가 없습니다), 오라클 프로 시저 또는 PHP OCI8 기능을 사용하고 있습니다.CakePHP 2.3에서 데이터베이스 연결없이 Sanitize :: clean 사용

그 결과 나는 CakePHP 프레임 워크에서 눈에 띄는 효과적인 데이터베이스 링크없이 CakePHP와 협력하고 있습니다.

Sanitize::clean 메서드를 사용하여 데이터베이스에 저장하기 전에 주석을 지우려고하고 있는데 데이터베이스에서 작업을 보는 것처럼 문제가 있습니다.

은 결과 오류입니다 :

Database connection "Mysql" is missing, or could not be created.

그리고 이것은 내가 그것을 소독을 시도하는 방법입니다 :

$comment = $this->request->data['comment']; 
: 난 그냥 이렇게하면

$comment = Sanitize::clean($this->request->data['comment']); 

그것은 완벽하게 잘 작동합니다

어쨌든 Sanitize::clean을 CakePHP 2.3에 구성된 데이터베이스없이 사용할 수 있습니까?

감사

+0

어떤 오류 (들) 당신은 점점 그것을 사용 하는가? 또한 실제 코드를 게시 할 때 사용하십시오. – Dave

+0

내 질문을 업데이트했습니다. 내 코드가 너무 관련이 없다하더라도 : – Alvaro

+0

동일한 오류를 보여줍니다. – Alvaro

답변

1

함수 살균 : 깨끗한는()는 CakePHP의이 기본 값을 사용하고 '기본'연결에 DB에 연결을 시도하는 두 번째 인수를주지 않는다 기본적으로 2 개 인자를 기대하고있다. 라이브러리의 Sanitize 클래스를 한 눈에보고 나면 DB 연결이 필요한 '이스케이프'옵션 인 것으로 나타납니다. SQL-safe 문자열을 만들기 위해 기본적으로 호출됩니다. 당신은 SQL 연결이 필요하지 않는 한,이 요청이 트릭해야 귀하의 경우 그래서

: 당신이하려고 할 때

$comment = Sanitize::clean($this->request->data['comment'], array('escape' => false);

Check the CookBook for more information on the Sanitize class.

+0

고마워, 잘 했어! – Alvaro

관련 문제