简体   繁体   English

phpmyadmin和php PDO之间的区别

[英]difference between phpmyadmin and php PDO

I'm running a query in Phpmyadmin and also execute the same query with php PDO but results are not equal. 我在Phpmyadmin中运行查询,并使用php PDO执行相同的查询,但结果不相等。 What could be wrong ? 有什么问题吗? This is query : 这是查询:

SELECT dim_date_key as date ,dim_jdate_key as jdate, SUM(val_call_counts) as count
FROM `fact_j_service_location_table_ts` 
WHERE `dim_time_stamp` >= '1426451400'
AND `dim_time_stamp` < '1427311800' 
AND dim_service_id  = 2  
GROUP BY dim_date_key  
LIMIT 0,10;

phpmyadmin : phpmyadmin:

date        jdate       count   
20150316    13931225    5711    
20150317    13931226    6170    
20150318    13931227    7244    
20150319    13931228    7825    
20150320    13931229    6261    
20150321    13940101    4622    
20150322    13940102    4513    
20150323    13940103    4671    

but php returns : 但是php返回:

20150316    13931225    6295    
20150317    13931226    6170    
20150318    13931227    7244    
20150319    13931228    14170   
20150320    13931229    6261    
20150321    13940101    4622    
20150322    13940102    16879   
20150323    13940103    4671    

and here is php script : 这是php脚本:

$sql = "SELECT dim_date_key as date ,dim_jdate_key as jdate, SUM(val_call_counts) as count
    FROM `fact_j_service_location_table_ts` 
    WHERE `dim_time_stamp` >= '1426451400'
    AND `dim_time_stamp` < '1427311800' 
    AND dim_service_id  = 2  
    GROUP BY dim_date_key  
    LIMIT 0,10;";
$db = new PDO($server ,$username, $pass, $opt);
$this_result = $db->prepare($sql);
$this_result->execute();
//$error = $this_result->errorInfo();

$res = $this_result->fetchAll(PDO::FETCH_ASSOC);

I'm not sure but count and date is reservated keyword in MySQL so if you try to escape them, it should work : 我不确定,但count和date是MySQL中的reserved关键字,因此,如果您尝试转义它们,它应该可以工作:

AS `date`
AS `count`

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM