PHP/MYSQL - 数据检索

标签 php mysql

根据 join 优于嵌套查询的建议,我已将所有嵌套查询转换为 join。但是,在转换为 join 后,我无法从 SQL 结果中将数据检索到我的数组中。

这是我的查询:

没有加入

$a="SELECT F_DATE, COUNT(F_DATE) as COUNT_F 
    from FWH 
    where FI_NAME IN 
    ( 
       SELECT I_NAME from INS_W WHERE INSTANCE_ID IN 
       (
         SELECT I_MAP_ID FROM T_MAP where T_MAP_ID = 
         (
           SELECT T_ID FROM TWY WHERE T_NAME = 'abc'
          )
        )
    ) 
    AND F_DATE between '$S_D' AND '$E_D'
    GROUP BY F_DATE";

加入

$a="SELECT t1.F_DATE AS DATE_F, COUNT(t1.F_DATE) as COUNT_F
    from FWH t1 
    JOIN INS_W t2 ON(t1.FI_NAME = t2.I_NAME) 
    JOIN T_MAP t3 ON(t2.INSTANCE_ID = t3.I_MAP_ID) 
    JOIN TWY t4 ON(t3.T_MAP_ID = t4.T_ID) 
    WHERE t4.T_NAME = 'abc' AND
    t1.F_DATE BETWEEN '$S_D' AND 'E_D'GROUP BY t1.F_DATE";

这是检索数据的 PHP 代码

$link = mysql_connect("ip", "user", "passs");
$dbcheck = mysql_select_db("db");   
if ($dbcheck) {
    $chart_array_1[] = "['F DATE','F COUNT']";
    $result = mysql_query($a);
    if (mysql_num_rows($result) > 0) {
        while ($row = mysql_fetch_assoc($result)) {
            $f_date=$row["DATE_F"];
            $f_count=$row["COUNT_F"];
            $chart_array_1[]="['".$f_date."',".$f_count."]";
        }
    }
}
mysqli_close($link);

直接在 MySQL 数据库上测试时,SQL 查询本身运行良好。

最佳答案

出于某种原因,当我使用连接时,我不得不使用行[0]、行[1] 等而不是使用列名获取值。我不明白这背后的原因。但是,这是我的唯一出路。以下代码适用于可能遇到与我类似情况的人。

$link = mysql_connect("ip", "user", "passs");
$dbcheck = mysql_select_db("db");   
if ($dbcheck) {
    $chart_array_1[] = "['F DATE','F COUNT']";
    $result = mysql_query($a);
    if (mysql_num_rows($result) > 0) {
        while ($row = mysql_fetch_assoc($result)) {
            $chart_array_1[]="['".$row[0]."',".$row[1]."]";
        }
    }
}
mysqli_close($link);

关于PHP/MYSQL - 数据检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30863643/

相关文章:

php - 在Mysql中,如何从上次选择的数据中选择新的数据

php - 每4张图片清晰

php - Laravel 5 数组, key 保存在模型中

php - "Can' t 发送非字符串/非二进制数据类型的长数据到底是什么意思?

mysql - 按关键字搜索 mySQL

php - php中mysql查询中的内联变量不起作用

php - 通过电子邮件发送错误500而不会向自己发送垃圾邮件

java - 我们可以使用DSN方法连接Java EE中的MYSQL数据库吗

mysql - 如何从 Pyspark 更新 Mysql 表中的数据

mysql - 更新所有行的特定部分