mysql select in oop php


mysql select in oop php

我有问题在MYSQL选择在OOP PHP。我不知道怎样把它写对。我的代码是:

$sql = "SELECT name_mcategory 
            FROM web_main_category WHERE userid=('".$userid."')";
    $result = mysql_query($sql);
    $e=0;
    $maincat=array ();
    while($data=mysql_fetch_array($result))
    { 
        $maincat[$e]=$data['name_mcategory'];
        $e++;
    } 

如何在OOP中编写它?我已经试过了,但是不工作。

class nweb {
var $userid;
var $mcategory;

function Getmain_category () {
$rs = mysql_query("SELECT name_mcategory 
            FROM web_main_category WHERE userid=$this->userid");
  }
$this->tab=mysql_fetch_object($rs);
}
   }
打印页

$mcat = new nweb();
$mcat->getmain_category ();
$mcat->mcategory=$this->name_mcategory;

如何获取数据像$maincat[$e]=$data['name_mcategory'];

如果你想使用OOP,那么使用像PDO这样的OOP DB层:

class nweb extends PDO {
  public $userid, $mcategory;
  public function __construct($hostname, $dbname, $username, $password) {
    parent::__construct($hostname,$dbname,$username,$password);
  }
  public function getmain_category() {
     return $this->query("SELECT name_mcategory FROM web_main_category WHERE userid = {$this->userid}")->fetch();
  }
}
$mcat = new nweb('hostname', 'dbname', 'username', 'password');
var_dump($mcat->getmain_category());

注意:您添加了一些错误处理,参见pdo::query

在OOP中,我们通常创建一个单独的类来处理数据库操作。例如Database.php因此,它执行查询并将结果返回给Category.php或使Category继承Database.php。如果你想要一个更好的方法使用PHP Activerecord。

像这样检查

 class nweb {
   var $userid;
   var $mcategory;

  function getmain_category () {
             $rs = mysql_query("SELECT name_mcategory 
                    FROM web_main_category WHERE userid = {$this->userid}");
             return mysql_fetch_object($rs);
  }
}

//print page

   $mcat = new nweb();
   $data = $mcat->getmain_category ();
   $e=0;
   $maincat=array ();
   while($data=mysql_fetch_array($result))
   { 
        $maincat[$e]=$data['name_mcategory'];
        $e++;
   }