php-oop与mysql查询

php-oop与mysql查询,php,mysql,oop,variables,Php,Mysql,Oop,Variables,我试图创建一个查询数组的函数,然后我将能够调用单独的值。在这里,我想你会明白我想做什么。除了我是一个完全的初学者 class Posts{ var $title; var $author; public function querySinglePost($value){ $post = mysql_fetch_array(mysql_query("select * from posts where id=$value")); $this->title

我试图创建一个查询数组的函数,然后我将能够调用单独的值。在这里,我想你会明白我想做什么。除了我是一个完全的初学者

class Posts{

  var $title;
  var $author;

  public function querySinglePost($value){

    $post = mysql_fetch_array(mysql_query("select * from posts where id=$value"));  
    $this->title = $post['title'];
    $this->author = $post['author'];

  } 


}

如何将数组值分配给类中的变量,然后在普通php脚本/视图中调用它们?谢谢

除了没有任何错误处理之外,您不想做一些类似的事情吗

$posts = new Posts;
$posts->querySinglePost(1);
echo $posts->title;
echo $posts->author;
看一看。 我还建议将该函数设为静态函数,它只返回创建的对象。像这样:

class Posts{

  var $title;
  var $author;

  public static function querySinglePost($value){

    return mysql_fetch_object(
       mysql_query("select * from posts where id=$value"),
       __CLASS__);

  } 

}

$post = Posts::querySinglePost($value);
$a = $post->title;
//...

在这种情况下,你可以更有条理。将此类视为将扩展基本模型类的模型。不要直接使用
mysql\u query
,而是使用一个数据库类,您可以使用它执行数据库操作,比如查询数据库。插入数据库等。将其设置为基本模型类中的db对象。作为一个简单的演示

class model{
  public function __construct()
  {
    $this->db = new Database(HOST,USER,PASS,DB);
  }
}

class Post extends model{    
public $post;
public function querySinglePost($value){
       $this->post = $this->db->query("select query");
       return $this->post;
    }
}
你会打电话给我

$ObjPost = new Post();
$post = $ObjPost->querySinglePost(1);

另外,PHP4在很久很久以前就死了。如果您正在重构整个过程,那么不妨加入一些错误/空结果集处理+为了“得到”OP想要的(我想)我爱你斯拉瓦。。。你知道吗?这很有效。非常感谢。
class model{
  public function __construct()
  {
    $this->db = new Database(HOST,USER,PASS,DB);
  }
}

class Post extends model{    
public $post;
public function querySinglePost($value){
       $this->post = $this->db->query("select query");
       return $this->post;
    }
}
$ObjPost = new Post();
$post = $ObjPost->querySinglePost(1);