Как вывести mysql в magento? - программирование
Подтвердить что ты не робот

Как вывести mysql в magento?

Я хочу избежать строки в magento, но когда я использую mysql_real_escape_string, я получаю предупреждение.

Предупреждение: mysql_real_escape_string() [function.mysql-real-escape-string]: невозможно подключиться к локальному MySQL сервер через сокет '/var/lib/mysql/mysql.soc.....'

Я не мог найти любую функцию запуска mysql magento. Итак, что мне делать?

4b9b3361

Ответ 1

Используйте это, чтобы избежать строки для запроса и добавить окружающие одинарные кавычки:

Mage::getSingleton('core/resource')->getConnection('default_write')->quote($string);

Вы можете найти Varien_Db_Adapter_Pdo_Mysql для дальнейшего уточнения деталей.

Ответ 2

Я думаю, что Magento использует уровень доступа к БД на основе PDO, который автоматически управляет экранированием при использовании связанных параметров. Пример из Использование методов Magento для записи запросов вставки с осторожностью в SQL Injection

$write = Mage::getSingleton("core/resource")->getConnection("core_write");

// Concatenated with . for readability
$query = "insert into mage_example "
       . "(name, email, company, description, status, date) values "
       . "(:name, :email, :company, :desc, 0, NOW())";

$binds = array(
    'name'    => "name' or 1=1",
    'email'   => "email",
    'company' => "company",
    'desc'    => "desc",
);
$write->query($query, $binds);