[英]php oop and mysql query
我正在尝试创建一个查询数组的函数,然后我将能够调用单独的值。 在这里,我想你会理解我想要做的事情。 除了我是一个完整的初学者。
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脚本/视图中调用它们? 谢谢
看看mysql_fetch_object 。 我还建议将该函数设为static,它将返回创建的对象。 像这样:
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;
//...
除了没有任何错误处理,你不会只是做类似的事情
$posts = new Posts;
$posts->querySinglePost(1);
echo $posts->title;
echo $posts->author;
$posts = new Posts();
$posts->querySinglePost($id);
echo "return values: \n";
echo $posts->title . "\n";
echo $posts->author . "\n";
class Posts{
public $post = array();
public function querySinglePost($value){
// fetch... $results
$this->post['title'] = $results['title'];
$this->post['author'] = $results['author'];
// ...
return $this->post;
}
}
$mySweetPost = new Posts();
print_r($mySweetPost->querySinglePost(1));
在这种情况下,你可以更有条理。 将此类视为将扩展基础模型类的模型。 而不是直接使用mysql_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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.