是PHP中PDO语句的新功能。在编写查询以使用oops概念实现pdo时遇到麻烦。我希望实现的目标是可重用的选择功能。

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>";
}


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

最佳答案

我已经检查了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);

09-25 18:25
查看更多