[英]mysql select in oop php
我在OOP PHP中選擇MYSQL時遇到問題。 我不知道怎么寫正確。 我的代碼是:
$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++;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.