我想逃避在Magento的字符串,但是当我使用mysql_real_escape_string
,我收到警告。
警告:mysql_real_escape_string()[function.mysql实时逃逸字符串]:无法通过套接字连接到本地MySQL服务器“/var/lib/mysql/mysql.soc .....”
我找不到任何Magento的核心MySQL的逃生功能。 所以我该怎么做?
我想逃避在Magento的字符串,但是当我使用mysql_real_escape_string
,我收到警告。
警告:mysql_real_escape_string()[function.mysql实时逃逸字符串]:无法通过套接字连接到本地MySQL服务器“/var/lib/mysql/mysql.soc .....”
我找不到任何Magento的核心MySQL的逃生功能。 所以我该怎么做?
使用此逃避查询字符串,并添加周围的单引号:
Mage::getSingleton('core/resource')->getConnection('default_write')->quote($string);
你可以看一下Varien_Db_Adapter_Pdo_Mysql
因为如果需要进一步的详细报价。
我想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);