PHP PDO检索重复数据

PHP PDO检索重复数据,php,Php,我对PHP(PDO)有这种情况 我正在实现一种从MySql中检索数据的方法,并且做得很好,但问题是,重复的数据恢复为key bone,没有值,但其他数据附加了更多值,请留下脚本和图像以了解更多细节 Data.php //read public function getData() { $statement = $this->db->prepare("select Id,Company_Name,Contact_Name,Contact_Title,Addres

我对PHP(PDO)有这种情况

我正在实现一种从MySql中检索数据的方法,并且做得很好,但问题是,重复的数据恢复为key bone,没有值,但其他数据附加了更多值,请留下脚本和图像以了解更多细节

Data.php

    //read
    public function getData() {
    $statement = $this->db->prepare("select Id,Company_Name,Contact_Name,Contact_Title,Address from contact_details LIMIT 3;");
    $statement->execute();
    if ($statement->rowCount() > 0) {
        $value = $statement->fetchAll();
        return $value;
    }
}
变量检验

json副本

预期结果

Data: [{"Id":"1","Company_Name":"Romero y tomillo","Contact_Name":"Alejandra                 Camino","Contact_Title":"Accounting Manager","Address":null}
,{"Id":"2","Company_Name":"Morgenstern Gesundkost","Contact_Name":"Alexander Feuer","Contact_Title":"Marketing Assistant","Address":"Heerstr. 22"}
,{"Id":"3","Company_Name":"Ana Trujillo Emparedados y helados","Contact_Name":"Ana Trujillo","Contact_Title":"Owner","Address":null}]

默认情况下,PDO使用PDO::FETCH_作为其FETCH结果。这意味着它将每一列映射到它的名称和一个“整数”列名

检查fetch_style参数=

为了获得预期的结果,您需要使用
PDO::FETCH_ASSOC
属性。 您可以将其设置为pdo对象上的默认FETCH_模式,如下所示:

$this->db->setAttribute(\PDO::ATTR_DEFAULT_FETCH_MODE, \PDO::FETCH_ASSOC);
或者,您可以为每个提取cal指定它:

$value = $statement->fetchAll(PDO::FETCH_ASSOC);

默认情况下,PDO使用PDO::FETCH_作为其FETCH结果。这意味着它将每一列映射到它的名称和一个“整数”列名

检查fetch_style参数=

为了获得预期的结果,您需要使用
PDO::FETCH_ASSOC
属性。 您可以将其设置为pdo对象上的默认FETCH_模式,如下所示:

$this->db->setAttribute(\PDO::ATTR_DEFAULT_FETCH_MODE, \PDO::FETCH_ASSOC);
或者,您可以为每个提取cal指定它:

$value = $statement->fetchAll(PDO::FETCH_ASSOC);

根据需要更改pdo属性

 $dbConnection = new PDO( 'pgsql:host=' . $host . ';dbname=' . $database, $username, 
 $password, );

 $dbConnection->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);

根据需要更改pdo属性

 $dbConnection = new PDO( 'pgsql:host=' . $host . ';dbname=' . $database, $username, 
 $password, );

 $dbConnection->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);

它工作正常,但只返回一个对象,如果要使用select从恢复中返回三个对象,我不知道您对该注释的意思。我用一些代码示例编辑了答案。它工作正常,但只返回一个对象,如果要使用SELECT从恢复中返回三个对象,我不知道您对该注释的意思。我用一些代码示例编辑了答案