>백엔드 개발 >PHP 튜토리얼 >$this->pdo->exec($sql);这是什么意思

$this->pdo->exec($sql);这是什么意思

WBOY
WBOY원래의
2016-06-06 20:19:402250검색

<code>class test{
      protected $pdo;
    function delete($sql){
        $this->exec($sql);
    }
    function exec($sql){
        echo $this->pdo->exec($sql);
    }
}
$a=new test;
$a->delete('ver');</code>

看到一个源码是这样写的。(我省略了一部分)

为什么是$this->pdo->exec($sql); 而不是$this->exec($sql);
加上这个PDO有什么作用呢?

回复内容:

<code>class test{
      protected $pdo;
    function delete($sql){
        $this->exec($sql);
    }
    function exec($sql){
        echo $this->pdo->exec($sql);
    }
}
$a=new test;
$a->delete('ver');</code>

看到一个源码是这样写的。(我省略了一部分)

为什么是$this->pdo->exec($sql); 而不是$this->exec($sql);
加上这个PDO有什么作用呢?

protected $pdo;代表的就是和数据的连接。当需要执行SQL命令时,当然需要用到这个变量啊。

估计 __construct 中 有 $this->pdo = new PDO();之类的
$this->pdo 其实是指向了PDO这个类
$this 只是当前类
上面你的报错信息是说 你的 $sql 这个参数没传

因为你没有初始化pdo

<code class="php">public function __construct($pdo)
{
    $this->pdo = $pdo;
}</code>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.