如何使用PDO进行查询?

时间:2014-01-02 10:00:03

标签: 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 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);

}

1 个答案:

答案 0 :(得分:0)

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

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);
}