거의 모든 특정 데이터베이스 함수를 추상화하는 명령 클래스가 있습니다 (ODBC 및 원시 mssql 라이브러리를 사용하는 Mssql 2005, MySQL 및 Oracle에서 실행되는 응용 프로그램과 똑같습니다). 우리의 문제는 실행될 때, 각각의 값으로 모든 자리를 대체 방법을 준비하지만 문제는 그 다음 사용하고 있다는 것입니다.에 대한준비된 문에 대한 Preg_replace 솔루션
if(is_array($Parameter['Value']))
{
$Statement = str_ireplace(':'.$Name, implode(', ', $this->Adapter->QuoteValue($Parameter['Value'])), $Statement);
}
else
{
$Statement = str_ireplace(':'.$Name, $this->Adapter->QuoteValue($Parameter['Value']), $Statement);
}
우리는 두 메르 유사한 매개 변수의 이름이 때 문제가 발생
, 예 : session_browser 및 session_browse_version ... 첫 번째 부분은 마지막 부분을 부분적으로 대체합니다.
물론 우리는 특정 순서 내에서 매개 변수를 지정하는 방법을 배웠지 만 이제는 "자유"시간이 있기 때문에 더 좋게 만들고 싶습니다. 그래서 preg_replace ...로 전환하려고 생각하고 있습니다. 좋지 않습니다. 정규식, 누구든지 ': parameter_name`과 같은 문자열을 대체하는 정규식에 대한 도움을 줄 수 있습니까?
최고 감사합니다, 브루노 B B 갈하 에스
당신은 나를 길게 잃어 버렸지 만 약간의 연구와 구글, 당신은 이해합니다 :) – Val