2017-02-14 72 views
-2

我在这里创建了一个类来获取数据,它工作正常,但我不知道它是一个正确的代码吗?任何人都可以检查我的代码?PHP PDO使用类选择数据

<?php 
class SingleData { 
    public $tbName; 
    public $id; 
    public $col; 
    public function viewData($tbName,$id,$col){ 
     $start = new PDO('mysql:host=localhost;dbname=user;charset=utf8mb4',"root","pass"); 
     $con = $start->prepare("SELECT $col FROM $tbName WHERE id=?"); 
     $con->bindValue(1, $id, PDO::PARAM_INT); 
     $con->execute(); 
     $result=$con->fetchColumn(); 
     return $result; 
    } 
} 
?> 

,这是我如何调用数据

$data=new SingleData; 
echo $data->viewData('user',1,'FName'). " "; 
echo $data->viewData('user',1,'LName'). </br>; 
echo $data->viewData('user',1,'Job'). </br>; 

,其结果将是:

John Smith 
Sales Manager 
+0

只是改变这个$ data = new SingleData(); –

+0

其余的都可以吗? –

+0

是的,我认为休息是好的,请尝试让我知道是否有任何问题 –

回答

-1

就个人而言,我会沿着这行做一些事情:

class SingleData { 
    private $_db; 
    public $tbName, $id, $col; 

    public function __construct(){ 
     try{ 
      $this->_db = new PDO("mysql:host=localhost;dbname=user;charset=utf8mb4", "root", "pass"); 
     } catch(e){ 
      die($e->getMessage()); 
     } 
    } 

    public function viewData($tbName, $id, $col){ 
     $con = $this->_db->prepare("SELECT $col FROM $tbName WHERE id=?"); 
     $con->bindValue(1, $id, PDO::PARAM_INT); 
     $con->execute(); 

     $result=$con->fetchColumn(); 
     return $result; 
    } 
} 
+0

thx为更正 –