2013-09-04 2 views
0

저는 현재 prestashop 코드를 기반으로 프레임 워크를 개발하고 있습니다. DbQuery.php에서 pSQLbqSQL 함수를 찾았습니다. 이러한 테이블 조인을 쿼리했을 때pSQL과 bqSQL은 PHP의 미리 정의 된 함수입니까?

prestashop에서 함수를 찾으려고합니다. 그러나 나는 아무것도 발견하지 못했습니다. PHP에서 미리 정의 된 함수인지 궁금하네요? Google에서 보았지만 문서가 없습니다 (PostgreSQL이 아닌 다른 것이지만 잘 모르겠습니다).

그 기능은 누구에게 말해 줄 수 있습니까? 어떤 차이가 있습니까?

답변

8

pSQL & bqSQL는 PHP에서 하지 미리 정의 된 함수입니다. 그들은 파일에서 PrestaShop 버전의 함수이다 오래된 1.2 버전에서 현재 "DB :: 탈출 (...)"로 명명하고 (행복 말했듯이) 별명에 "PSQL"로 정의 /config/alias.php

2

, 그것은 db 클래스에서 직접 정의되었습니다.

현재 방법 "탈출"(PS 1.6)

public function escape($string, $html_ok = false, $bq_sql = false) 
{ 
    if (_PS_MAGIC_QUOTES_GPC_) 
     $string = stripslashes($string); 
    if (!is_numeric($string)) 
    { 
     $string = $this->_escape($string); 
     if (!$html_ok) 
      $string = strip_tags(Tools::nl2br($string)); 
     if ($bq_sql === true) 
      $string = str_replace('`', '\`', $string); 
    } 
    return $string; 
} 

"탈출"방법은) 각 데이터베이스 구현에서 다른 보호 기능을 구현할 수 있습니다 자손 클래스에서 "_escape"메소드를 호출 있습니다.