php 拼接sql字符串 150
刚用php不久发现到处拼接sql语句如有改动实在是麻烦就想问问有没有好一点的结构能尽量避免这种情况...
刚用php不久 发现到处拼接sql语句 如有改动实在是麻烦 就想问问有没有好一点的结构能尽量避免这种情况
展开
展开全部
function getSql($table,$wheres="",$feilds="*"){
$base_sql = "select {$feilds} from ".$table." where 1=1";
if(!empty($wheres)){
$base_sql = $base_sql." ".$wheres;
}
return $base_sql;
}
$sql = getSql("table1"," and id=1 ","id,name,cid"); //调用的时候,传递表名,条件(全部用and 链接),字段列表 就好了。。如果还需要limit ,order by什么的。你可以继续追问,我帮你完善。
$base_sql = "select {$feilds} from ".$table." where 1=1";
if(!empty($wheres)){
$base_sql = $base_sql." ".$wheres;
}
return $base_sql;
}
$sql = getSql("table1"," and id=1 ","id,name,cid"); //调用的时候,传递表名,条件(全部用and 链接),字段列表 就好了。。如果还需要limit ,order by什么的。你可以继续追问,我帮你完善。
展开全部
把数据库的链接,操作等等封装在类中,之后在实例化
class ConDb{
public $host;
public $name;
public $pwd;
public $conn;
function ConDb( $host,$name,$pwd){
$this->host=$host;
$this->name=$name;
$this->pwd=$pwd;
}
function Get(){
$this->conn=mysql_connect($this->host,$this->name,$this->pwd) or die();
mysql_select_db();
..........
}
}
之后实例化
$con=new ConnDb("localhost","root","password");
$tmp=$con->Any();
举一反三,封装起来,只要你要用到,就用require 或者include把它包括进来,然后实例化,就可以了。
网上教程很多,看一看php面向对象
class ConDb{
public $host;
public $name;
public $pwd;
public $conn;
function ConDb( $host,$name,$pwd){
$this->host=$host;
$this->name=$name;
$this->pwd=$pwd;
}
function Get(){
$this->conn=mysql_connect($this->host,$this->name,$this->pwd) or die();
mysql_select_db();
..........
}
}
之后实例化
$con=new ConnDb("localhost","root","password");
$tmp=$con->Any();
举一反三,封装起来,只要你要用到,就用require 或者include把它包括进来,然后实例化,就可以了。
网上教程很多,看一看php面向对象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$sql="select * from $table $where $order $limit";
$table="......."; //表名
$where="........"; //搜索条件
$order="......" //排序条件
$limit="........" //显示多少
其中中间2个,可以使用“.=”连接不同的搜索、排序条件。例如:
$where=" status=1";
$where.=" and is_onsale=1";//注意and前加一个空格
$table="......."; //表名
$where="........"; //搜索条件
$order="......" //排序条件
$limit="........" //显示多少
其中中间2个,可以使用“.=”连接不同的搜索、排序条件。例如:
$where=" status=1";
$where.=" and is_onsale=1";//注意and前加一个空格
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$sql = "select * form table ".
"where id=11 and ....".
"limit 0,10";
mysql_query($sql);
用点连接最后结尾加分号!
"where id=11 and ....".
"limit 0,10";
mysql_query($sql);
用点连接最后结尾加分号!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我一般把每一条sql语句的执行都写成一个方法。然后把变量用参数传进去。
比如
function selectTable($col = "*", $table){
$sql = "select $col form $table";
mysql_query($sql);
}
比如
function selectTable($col = "*", $table){
$sql = "select $col form $table";
mysql_query($sql);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询