如何逃脱的mysql在Magento?(How to mysql escape in magento

2019-07-30 01:43发布

我想逃避在Magento的字符串,但是当我使用mysql_real_escape_string ,我收到警告。

警告:mysql_real_escape_string()[function.mysql实时逃逸字符串]:无法通过套接字连接到本地MySQL服务器“/var/lib/mysql/mysql.soc .....”

我找不到任何Magento的核心MySQL的逃生功能。 所以我该怎么做?

Answer 1:

使用此逃避查询字符串,并添加周围的单引号:

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

你可以看一下Varien_Db_Adapter_Pdo_Mysql因为如果需要进一步的详细报价。



Answer 2:

我想Magento的使用基于PDO,它处理逃逸自动提供您使用绑定参数的数据库访问层。 从实例使用Magento的方法写入插入查询小心SQL注入

$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);


文章来源: How to mysql escape in magento?
标签: mysql magento