Php 选择使用PDO和oops查询

Php 选择使用PDO和oops查询,php,mysql,pdo,Php,Mysql,Pdo,我不熟悉PHP中的PDO语句。我在使用oops概念编写实现pdo的查询时遇到了问题。我希望实现的目标是一个可重用的select函数 public function selectpackage($table) { try { $query = $this->db->prepare("select * from $this->table"); return $query->fetch(PDO::FETCH_ASSOC); }

我不熟悉PHP中的PDO语句。我在使用oops概念编写实现pdo的查询时遇到了问题。我希望实现的目标是一个可重用的select函数

public function selectpackage($table) {
    try {
        $query = $this->db->prepare("select * from $this->table");
        return $query->fetch(PDO::FETCH_ASSOC);
    }
    catch(PDOException $e)
    {
        echo 'Query failed'.$e->getMessage();
    }
}
$db
用于连接数据库。现在,在调用这个函数的页面中,我写了

$result = $obj->selectpackage("tbl_packages");

while($row = $result) {

          echo $row['title']."</br>";
}
$result=$obj->selectpackage(“tbl_packages”);
while($row=$result){
echo$row['title']。“
”; }

它没有给出结果。有人知道问题出在哪里吗?

我已经检查了Siraj代码,它正在工作

class oopCrud
{  

 private $host="localhost";

 private $user="root";  
 private $db="databasename";  
 private $pass="";
 private $conn;

 public function __construct(){

 $this->conn = new PDO("mysql:host=".$this->host.";dbname=".$this->db,$this->user,$this->pass);

 }

 public function showData($table){  
 try {  
    $sql="SELECT * FROM $table";  
    $q = $this->conn->query($sql) or die("failed!");

    while($r = $q->fetch(PDO::FETCH_ASSOC)){  $data[]=$r;  }  
    return $data;

     }
    catch(PDOException $e)
    {
        echo 'Query failed'.$e->getMessage();
    }

 }   

}



$obj=new oopCrud;

$result = $obj->showData("tablename"); 
print_r($result);

1. <代码>$table和
$this->table
2。如果您不知道如何处理Exception,请不要捕获它。尝试使用$table而不是$this->table谢谢大家(Siraj和user2959982)。代码正在运行。现在,我得到一个多维数组作为输出。要打印数组值,我需要编写$result[1]['name']、$result[1]['phone']等。是否有任何方法将返回值存储到单个数组中?(没有必要,但我觉得这样可以使代码看起来更友好)