反正最小化sql查询结构?

时间:2012-09-29 15:37:44

标签: php mysql

  

可能重复:
  PHP file cannot enter some part of code

我正在建立一个新闻网站,我有一个功能文件,所有功能,但几乎所有的功能都与下面的例子相同:

function one(){
$query  = "SELECT * FROM table WHERE id='$id'....";
$result = mysql_query($query);
while($row=mysql_num_rows($result))
{echo "$row[data]";}  }

所以,基本上有很多函数用于不同的目的,但是具有与上面相同的精确模板,所以,为了节省时间,编码我在想是否可行,简化5行?与功能如:

function(something here, and here){then the result here?}

因为可能从第一个代码改变的唯一事情是:选择,表名,id, 和$ row [data],如果我将它们分配给变量并且其余结构将保持在函数中,那么一切都将保持不变:

检查这个想法。

function simplify() {

$query = "$crud * FROM $table WHERE id= '$id' ";
$result = mysql_query($query);
while($row=mysql_fetch_array($result)) {echo "$row[data]";}


} 

所以任何时候,我都需要创建第一个代码,我可以做到

echo simlify(and here would be table name, id, select, create, update...) {

and here the result}

很抱歉,提出这个复杂的问题,或者问复杂的问题,但如果有人有任何想法,关于我在说什么,我需要你的帮助。

1 个答案:

答案 0 :(得分:1)

对于简单的数据库调用,这是怎么回事:

$db = new DBAdapter(array('host' => 'localhost'));
$results = $db->Select('mytable')->Where('id > 2')->Execute();

您可以通过构建自己的数据库类来实现此目的。将该类放在一个单独的文件中并重复使用多次。

class DBAdapter extends PDO
{
  public function __construct( array $params)
  {
     // construct the connection
  }

  public function Select ($table)
  {
    // do stuff for a table select
    return $this;
  }

  public function Count ($table)
  {
    // do stuff for a table count
    return $this;
  }


  public function Where ($condition)
  {
    // do stuff for a where
    return $this;
  }

  public function Execute ()
  {
    // execute stuff
    return $result;
  }
}