Я разрабатываю веб-приложение с использованием фреймворка zend. Для выбранных операторов я использовал следующий способ.
Пример:
public function getData($name)
{
$sql = "SELECT * from customer where Customer_Name = '$name'";
return $this->objDB->getAdapter()->fetchAll ($sql);
}
Это отлично работает. Но если я отправлю имя клиента как: colvin's place
,
Запрос не выполнен. И я знаю, что это из-за одинарной цитаты.
Ранее я использовал функцию PHP addlashes. Но я увидел, что это не лучший способ. На этот раз я использовал функцию PHP mysql_real_escape_string
.
Проблема в том, что написано следующее предупреждение.
Предупреждение : mysql_real_escape_string () [ function.mysql-real-escape-string ]: доступ запрещен для пользователя ODBC '@' localhost '(с использованием пароля: NO)
Это связано с тем, что функции mysql_real_escape_string
требуется соединение с базой данных, открытой mysql_connect
. Мой вопрос в том, как я могу использовать это с классами * Zend_DB *. Мне нужно всегда использовать настраиваемые запросы выбора. Оцените другие ваши предложения, если таковые имеются.
Спасибо