0

and当我运行此代码时,布尔值和or操作似乎存在问题:

$ne = News::find(['conditions' => 'title_md = "' . htmlspecialchars($_post['title_md']) . '"  OR alias = "'.$item->alias.'" AND id !=  ' . $id])->toArray();

里面的条件if(count($ne) < 1)返回true,但我需要得到false,因为 id 目前没有被占用。

4

1 回答 1

0

这是使用 Phalcon 的 ORM 全部潜力的正确查询。

$ne = News::find([
    'conditions' => '(title_md = :title: OR alias = :alias:) AND id != :id:',
    'bind' => [
        'title' => $_POST['title_md'],
        'alias' => $item->alias,
        'id' => $id,
    ]
])->toArray();

正如上面提到的,您在绑定参数时必须更加小心,以避免 SQL 注入。文档中的更多示例和操作方法:https ://docs.phalconphp.com/zh/3.2/db-models#binding-parameters

于 2018-01-30T13:05:35.660 回答