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