【问题标题】:fat free framework sql sanitization无脂肪框架 sql 清理
【发布时间】:2015-04-08 06:22:55
【问题描述】:

所以我正在尝试学习 f3,而数据库语法却让我望而却步。

查看docs,您似乎传递了一个 sql 字符串和要替换的值数组。但我似乎无法让它工作。我试过只使用一个参数,使用数组,不使用数组等。最终我需要在查询中替换 5+ 个变量,所以我真的需要了解它是如何工作的。提前谢谢。

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

【问题讨论】:

    标签: mysql syntax fat-free-framework


    【解决方案1】:

    我犯的错误在于引号。

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

    也许这对其他人有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-26
      • 2014-02-06
      • 2011-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多