我不明白这个代码行是做啥的,$this->link->query($query)? [复制]

Posted

技术标签:

【中文标题】我不明白这个代码行是做啥的,$this->link->query($query)? [复制]【英文标题】:I don't understand what does this code line do, $this->link->query($query)? [duplicate]我不明白这个代码行是做什么的,$this->link->query($query)? [复制] 【发布时间】:2016-11-30 08:20:58 【问题描述】:

只有 $this->link->query($query) 我知道链接是类数据库的成员变量,但不明白 $this 时发生了什么->link->query($query) 执行?求助,我是编码新手

我的整个代码:

<?php


class Database

    public $db_host=DB_HOST;
    public $db_user=DB_USER;
    public $db_pass=DB_PASS;
    public $db_name=DB_NAME;


    public $link;

    public $error;

    public function __construct()

    



        // Call connect function

        $this->connect();


    

    private function connect()
    
        $this->link= new mysqli($this->db_host,$this->db_user,$this->db_pass,$this->db_name);

        if(!$this->link)
        
            $this->error="Connection Failed";
            return false;
        

    

    public function select($query)
    
        $result=$this->link->query($query) or die ("Query could not execute");
    




?>

【问题讨论】:

我没有理解这里的问题。有什么问题”?它有效还是无效?或者,您想知道这一切“如何”结合在一起? 呃,它运行查询并返回结果? 问题是我不明白 "$this->link->query($query)" 是如何工作的。我正在使用“$this->link”访问“$link”成员变量,但不明白“$this->link->query($query)”是什么? 手册中有所有内容php.net/manual/en/language.oop5.php --- php.net/manual/en/language.oop5.basic.php 并且 Stack 不是一个教程网站。那里有足够的东西供你学习。如果没有什么是“坏”的,那么我们就没有什么可以“修复”的了。 【参考方案1】:
    $this 是您正在使用的当前 Database 对象。 -&gt; 调用该对象的方法或成员 link 正如您所指出的,它是 Database 的成员,恰好是 mysqli 的另一个对象。 query($query) 是一种链接方法。

所以你打电话给mysqliquery。参数$query 应该是你的sql

【讨论】:

谢谢!非常感谢!我知道 Stack Overflow 不是教程网站,但您刚刚解决了一个重大困惑。【参考方案2】:

$this-&gt;link 是一个数据库连接对象,它有一个名为query() 的方法用于进行数据库查询并返回一个mysqli 结果对象。 query() 方法采用 SQL 字符串。所以调用它的一种方法是:

$result = $this->link->query("SELECT * FROM table WHERE 1") ;

在调用 mysqli query() 时使用变量而不是字符串文字是很常见的:

$sql = "SELECT * FROM table WHERE 1" ;
$result = $this->link->query($sql) ;

在您的代码中,包含 SQL 字符串的变量称为 $query,这可能有点令人困惑,特别是因为 $query 没有在我能看到的任何地方定义。

【讨论】:

以上是关于我不明白这个代码行是做啥的,$this->link->query($query)? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

sklearn.SVC 中的独立 SVC 行是做啥的?

学习pythy主要是做啥的

我是 python 新手,我偶然发现了一个函数/变量?我不知道它是做啥的,有人可以解释一下吗? [复制]

不明白,getSingularObjectFromString 方法是做啥的?

这个宏定义是做啥的?

inverse_of 是做啥的?它生成啥 SQL?