PHP MYSQL PDO。当我执行 SELECT 时,它不会 return 所有 table 字段

PHP MYSQL PDO. When I do a SELECT, it doesn't return all table fields

当我尝试在 mysql 数据库中执行我的 SUCCESSFUL Select 时,它 returns 我所有的字段,除了第一个。 (是的,听起来很奇怪)。

而如果 select 只有 returns 1 个字段,它不会打印任何值。 如果 select returns 2 个值,将只打印 1 个(第 2 个)。 等等

我不明白为什么会这样!

    $vector=array();
    $sql="SELECT * FROM products";
    $con=new DataBase();
    $resultado=$con->selectQuery($sql,$vector); //you have this funtion below

    if($resultado!=null){
        if (!$resultado->fetchColumn()){
            //no hay productos
            $cadena="No products in our web";
        }
        else{
            $cadena=$resultado; //IF ALL HAVE GONE CORRECT
        }
    }
    else{
        $cadena="Sorry, we are having some problems. Try again later.";
    }

  if (is_string($cadena))
  {
       //some code.
  }
  else
  {
       ///////////////////////
       // HERE I PROCEED TO TAKE THE DATA OF THE SELECT.
        foreach ($cadena as $row)   
        {
           $prods .="$row[price]";
        }
  }

  //////////////////////////////////////////////
  //selectQuery FUNCTION...

  public function selectQuery($sql,$vector){
    //select
    if($this->connect()){//data to connect to the DB. It works well.
        $sentencia = $this->db->prepare($sql);
        $sentencia->execute($vector);
        $this->disconnect();
    }else{
        $sentencia=null;
    }

    //$jjj=$sentencia->fetchAll(); //s'ha de fer si no a vegades dona error
    //print_r($jjj) ; exit;
    return $sentencia;

}

检查文档 fetchColumn() - http://php.net/manual/en/pdostatement.fetchcolumn.php

您只获取了一列而不是所有列。使用 fetchAll() 函数 select 所有列 fetchAll() - http://php.net/manual/en/pdostatement.fetchall.php