У меня есть класс команд, который аббревиатура почти всех конкретных функций базы данных (у нас есть точно такое же приложение, запущенное на Mssql 2005 (с использованием ODBC и собственной библиотеки mssql), 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`?
С наилучшими пожеланиями, Bruno B B Magalhaes
Вы потеряли меня долгое время, но немного исследований и Google, вы имеете смысл :) – Val