为什么我无法在php中获取查询结果?

时间:2015-12-06 15:41:07

标签: php sql

我尝试执行sql查询:

    $conn = new PDO('mysql:host=localhost;dbname=wordpress2','root','');
    $sql = 'SELECT
    CASE
        WHEN field_id = 1 THEN  value
    END as Name,
    CASE
        WHEN field_id = 3 THEN  value
    END as X,
    CASE
        WHEN field_id = 2 THEN  value
    END as Y
    FROM wp_bp_xprofile_data';


    $rs = $conn->query($sql);
    if (!$rs) {
        echo 'An SQL error occured.\n';
        exit;
    }
    while ($row = $rs->fetch(PDO::FETCH_ASSOC)) {
        $properties = $row;
        ?>
        <script> console.log("<?php $row["Name"] ?>")</script>
        <?php
    }

但在浏览器控制台中我只看到空行。在phpMyAdmin查询工作并返回一些行 什么可能是错的?

2 个答案:

答案 0 :(得分:1)

你错过了一个&#34; echo&#34;在<?php echo $row["name"]; ?>

答案 1 :(得分:0)

我猜你有一个实体 - 属性 - 值数据结构,在一个字段中每个值的一行内。如果是这样,那么你需要一个聚合:

SELECT MAX(CASE WHEN field_id = 1 THEN value END) as Name,
       MAX(CASE WHEN field_id = 3 THEN value END) as X,
       MAX(CASE WHEN field_id = 2 THEN value END) as Y
FROM wp_bp_xprofile_data;

您很可能还需要WHERE <something> = <something>GROUP BY