簡體   English   中英

Zend 2-DB-轉義值而不引用它

[英]Zend 2 - DB - Escape value without quoting it

我正在尋找一種引用SQL逸出SQL查詢值的干凈方法。

假設我有一個值, It's cool 現在,我想簡單地獲取轉義字符串, It\\'s cool ,就像將mysqli_real_escape_string()函數用於mysqli驅動程序時一樣。

問題在於,所有Zend\\Db\\Adapter\\Platform接口的引用方法都將單引號添加到該值,這意味着我得到了'It\\s cool'

我發現執行此操作的最簡單方法是在使用quoteValue()方法后修剪引號。

$raw = "It's cool";
$quoted  = $this->db->platform->quoteValue($raw);
$final = trim($quoted, "'");

但這當然是一個骯臟的解決方案,我不希望在每個我都需要僅轉義值的地方都這樣子。

在Zend2中,有什么干凈的方法可以做到這一點嗎?

也許您可以嘗試這樣的事情:

$sql = "UPDATE posts set comment = :value where id = :id";
$data = ['value' => "It's cool", 'id' => 123];
$stmt= $this->tableGateway->getAdapter()->createStatement($sql);
$stmt->prepare($sql);
$stmt->execute($data);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM