$data = S("Plugin")->query("select hy_thread.title from hy_thread,hy_post where hy_thread.id=hy_post.tid and (hy_thread.title like '%a%' or hy_post.content like '%a%')")->fetchAll(\PDO::FETCH_ASSOC); //注意后面的->fetchAll(\PDO::FETCH_ASSOC);
//print_r $data;
admin
发表于 2016-8-15
结果 = S("Plugin")->query(SQL语句);
较为复杂的多表查询 最好使用 原生查询 使用数据库引擎的多表查询结构 会更复杂..
评论列表
加载数据中...
mzlh001
发表于 2016-8-15
好的,对了 你看下,我研究hy_sql的时候,发现第339行,select_context方法的第三个参数前面有一个&,这个是什么意思?评论列表
加载数据中...
admin
发表于 2016-8-15
传入指针 解析columns 返回SQL
评论列表
加载数据中...
mzlh001
发表于 2016-8-15
这个的话,是不是要另外写个过滤关键字的方法,还是程序里面有单独的过滤关键字的方法
评论列表
加载数据中...
mzlh001
发表于 2016-8-15
评论列表
加载数据中...
admin
发表于 2016-8-15
不需要
PDO就是为防注入而生的
评论列表
加载数据中...
mzlh001
发表于 2016-8-15
评论列表
加载数据中...
admin
发表于 2016-8-15
补充一下
引擎用的是 PDO 所以你使用query方法 会返回对象 并不会返回查询结果
http://php.net/manual/zh/class.pdostatement.php
比如你现在要的 多表查询
->fetchAll(\PDO::FETCH_ASSOC);
评论列表
加载数据中...
mzlh001
发表于 2016-8-15
评论列表
加载数据中...
mzlh001
发表于 2016-8-15
有个问题我想请问一下,我写完后发现这样搜索会连同原本内容里面的html代码也算在搜索范围,虽然影响不是很大,但靠匹配正则表达式或其他方法有可能过滤掉这部分搜索吗
评论列表
加载数据中...
mzlh001
发表于 2016-8-15
评论列表
加载数据中...
mzlh001
发表于 2016-8-15
@admin
还有我发现一个小BUG,搜索页面即使没结果也可以点击下一页
评论列表
加载数据中...
admin
发表于 2016-8-15
确实 因为输出搜索结果还需要得出页数 会第一句SQL 所以就省略了
评论列表
加载数据中...
mzlh001
发表于 2016-8-15
我想到一个办法不执行sql
改成
唯一的缺点就是当
评论列表
加载数据中...