Php 如何在普通sql查询中设置限制
我想把这个限制在10以内Php 如何在普通sql查询中设置限制,php,mysql,sql,codeigniter,Php,Mysql,Sql,Codeigniter,我想把这个限制在10以内 function getArticles($search_key,$pub_status) { $sql="SELECT * FROM (`ms_article`) "; if($search_key != '') { $sql.="WHERE ("; $words = explode(" ",$search_key); for($i=0;$i<count($w
function getArticles($search_key,$pub_status)
{
$sql="SELECT * FROM (`ms_article`) ";
if($search_key != '')
{
$sql.="WHERE (";
$words = explode(" ",$search_key);
for($i=0;$i<count($words);$i++)
{
$title_con.="`article_title` LIKE '%".$words[$i]."%' OR";
$abstract_con.="`article_abstract` LIKE '%".$words[$i]."%' OR";
$keywords_con.="`article_keywords` LIKE '%".$words[$i]."%' OR";
}
$sql.=$title_con.$abstract_con.substr($keywords_con, 0, -2).") AND (`article_status` = 1 ";
} else{
$sql.="WHERE (`article_status` = 1 ";
}
if($pub_status==0){
$sql.="AND `private_status` <> 1";
}
$sql.=")";
$result=$this->db->query($sql) ;
// echo[$result];
// return $result;
}
函数getArticles($search\u key,$pub\u status)
{
$sql=“SELECT*FROM(`ms_article`)”;
如果($search_key!='')
{
$sql.=“其中(”;
$words=explode(“,$search\u key);
对于($i=0;$idb->query($sql);
//回声[$result];
//返回$result;
}
但我不知道这个问题的答案。
我可以将其放置在何处以及如何在codeigniter中回显查询?在查询结束时追加
限制
,然后回显它:
$sql.=")";
$sql.=" LIMIT 10";// added limit at last of query
echo $sql; //printing generated query
$result=$this->db->query($sql) ;
在查询结束时追加Limit
,然后echo
it:
$sql.=")";
$sql.=" LIMIT 10";// added limit at last of query
echo $sql; //printing generated query
$result=$this->db->query($sql) ;
直接从文档中提取:
但这也取决于您使用的数据库。LIMIT语法适用于PostgreSQL、MySQL、SQLite,但适用于sqlserver(Microsoft)。这是一个完全不同的故事直接从文档中得出:
但这也取决于您使用的数据库。LIMIT语法适用于PostgreSQL、MySQL、SQLite,但sqlserver(Microsoft)则完全不同。试试这段代码可能对您有用
$sql.=")";
$sql.=" LIMIT 0,10";
echo $sql;
$result=$this->db->query($sql) ;
试试这段代码也许对你有用
$sql.=")";
$sql.=" LIMIT 0,10";
echo $sql;
$result=$this->db->query($sql) ;
您可以在查询末尾添加限制,如下所示:
$sql.=")";
$sql.=" LIMIT 10, 0"; // added limit of 10 and offset 0
echo $sql; //printing generated query
$result=$this->db->query($sql) ;
在您的例子中,您只是将查询构建成一个字符串,以便可以回显该字符串以查看最终查询
但是,使用Codeigniter的查询生成器时,您可以使用以下选项检查最后执行的查询:
$this->db->last_query();
我通常将这些函数放在一个单独的帮助文件中,这对于以后调试任何代码都很有用,如下所示:
function q($die = true){
$ci =& get_instance();
echo $ci->db->last_query();
if($die) die('<br>----------Query Ends here--------<br>');
}
函数q($die=true){
$ci=&get_instance();
echo$ci->db->last_query();
if($die)die('
--Query结束于此-----
');
}
您可以在查询末尾添加限制,如下所示:
$sql.=")";
$sql.=" LIMIT 10, 0"; // added limit of 10 and offset 0
echo $sql; //printing generated query
$result=$this->db->query($sql) ;
在您的例子中,您只是将查询构建成一个字符串,以便可以回显该字符串以查看最终查询
但是,使用Codeigniter的查询生成器时,您可以使用以下选项检查最后执行的查询:
$this->db->last_query();
我通常将这些函数放在一个单独的帮助文件中,这对于以后调试任何代码都很有用,如下所示:
function q($die = true){
$ci =& get_instance();
echo $ci->db->last_query();
if($die) die('<br>----------Query Ends here--------<br>');
}
函数q($die=true){
$ci=&get_instance();
echo$ci->db->last_query();
if($die)die('
--Query结束于此-----
');
}