所以我正在尝试学习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>';
解决方法:
我犯的错误是引号.
从表中选择*,其中name =’:name’
是不正确的.您需要删除引号
从表中选择* name =:name
因此,如果您想使用多个Just array将它们嵌套
$db->exec(
`select * from table where first_name = :fname and last_name = :lname`,
array(
':fname' => 'xero',
':lname' => 'harrison'
)
);
也许这会帮助别人.