Php 如何使用PDO进行查询?

Php 如何使用PDO进行查询?,php,mysql,pdo,Php,Mysql,Pdo,我正在尝试使用PDO进行此查询,结果返回错误。我已经验证了与数据库的连接 function temperaturaMedia($data_inicio,$data_final,$ema) { $db = 'sensorzapp_db'; $query = "SELECT DATE(DTM) AS 'Dia', ROUND(AVG(TMP),1) AS 'Temp. Med.' FROM dados_meteo WHERE

我正在尝试使用PDO进行此查询,结果返回错误。我已经验证了与数据库的连接

function temperaturaMedia($data_inicio,$data_final,$ema)
{

  $db = 'sensorzapp_db';

  $query = "SELECT
        DATE(DTM) AS 'Dia',
        ROUND(AVG(TMP),1) AS 'Temp. Med.'
        FROM dados_meteo
        WHERE POM = '$ema'
        AND DATE(DTM) BETWEEN '$data_inicio' AND '$data_final'
        GROUP BY DATE(DTM)";

  $stmt = $db->query($query);
  return $stmt->fetchAll(PDO::FETCH_ASSOC);

}

如果您试图对字符串执行查询,则需要连接到数据库,如下所示:

function temperaturaMedia($data_inicio,$data_final,$ema)
{

  try {
  $db = new PDO("mysql:host=localhost;dbname=sensorzapp_db","user","password");
  } catch($ex) { die("Connection failed"); } // To not disclosure username & password when connection fails (look at the red box on http://www.php.net/manual/de/pdo.connections.php)
  $query = "SELECT
        DATE(DTM) AS 'Dia',
        ROUND(AVG(TMP),1) AS 'Temp. Med.'
        FROM dados_meteo
        WHERE POM = '$ema'
        AND DATE(DTM) BETWEEN '$data_inicio' AND '$data_final'
        GROUP BY DATE(DTM)";

  $stmt = $db->query($query);
  return $stmt->fetchAll(PDO::FETCH_ASSOC);
}