【问题标题】:PHP PDO select data using classPHP PDO使用类选择数据
【发布时间】:2017-07-02 06:37:42
【问题描述】:

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

<?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

【问题讨论】:

  • 只需更改此 $data=new SingleData();
  • 剩下的还好吗?
  • 是的,我认为休息还可以,如果有任何问题,请尝试告诉我
  • 我怎样才能从上面的代码做一个 __construct ?只是有点迷路
  • 你只是想从一个表中返回所有数据吗?你的代码很混乱

标签: php class pdo


【解决方案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;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-03
    • 2012-06-12
    • 1970-01-01
    • 2014-04-09
    • 2014-03-18
    • 2012-12-15
    • 2012-07-23
    • 1970-01-01
    相关资源
    最近更新 更多