2013-02-27 63 views
3

所以我想學習f3和數據庫語法逃避我。胖免費的框架sql消毒

看着docs看來你傳遞了一串你的sql和數組的值來替換。但我似乎無法得到它的工作。我試過只使用一個參數,使用數組,不使用數組等,最終我將需要替換查詢中的5個變量,所以我真的需要了解它是如何工作的。 thanx提前。

$db = new DB\SQL(
    $f3->get('db'), 
    $f3->get('dbuser'), 
    $f3->get('dbpass') 
); 
$x = $db->exec(
    "SELECT user_id, email, token FROM `user_primary` WHERE `first_name` = ':first' AND `last_name` = ':last';", 
    array(
     ':first' => $f3->get('PARAMS.first'), 
     ':last' => $f3->get('PARAMS.last') 
    ) 
); 
echo '<pre>'.print_r($x, true).'</pre>'; 

回答

4

我所做的錯誤是與報價。

select * from table where name = ':name'

是不正確的。您需要刪除引號

select * from table where name = :name

,所以如果你想使用多隻陣列巢他們

$db->exec(
    `select * from table where first_name = :fname and last_name = :lname`, 
    array(
     ':fname' => 'xero', 
     ':lname' => 'harrison' 
    ) 
); 

也許這將幫助別人。