select as 中文就报错,select as 英文就不报错,高手能说说原因吗

报错写法

 <?php include 'conn.php'; ?>
 <?php 

 $sql="SELECT     
    sku_p as SKU, 
    'MFN'  AS ddd,   
    sum(case when (transaction_type ='Order' and amount_type='ItemPrice' and amount_description='Principal') then quantity_purchased  else 0 end) AS 阿斯蒂芬


FROM
    tongji 
WHERE fulfillment_id='MFN'
GROUP BY sku_p
HAVING COUNT(sku_p) >= 1;";


$result = $conn->query($sql);
echo $result->num_rows;

if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["SKU"]."<br>";
    }
} else {
    echo "0 结果";
} 


$conn->close();

 ?> 

不报错写法

 <?php include 'conn.php'; ?>
 <?php 

 $sql="SELECT     
    sku_p as SKU, 
    'MFN'  AS ddd,   
    sum(case when (transaction_type ='Order' and amount_type='ItemPrice' and amount_description='Principal') then quantity_purchased  else 0 end) AS ttt



FROM
    tongji 
WHERE fulfillment_id='MFN'
GROUP BY sku_p
HAVING COUNT(sku_p) >= 1;";


$result = $conn->query($sql);
echo $result->num_rows;

if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["SKU"]."<br>";
    }
} else {
    echo "0 结果";
} 


$conn->close();

 ?> 

数据库或者数据库版本问题,有些支持有些不支持,你可以把汉字用单引号引起来应该就可以了

返回的mysql报错是什么?针对错误信息可以更快速的定位原因。 不过数据库版本问题可能性很大

要用单引号,不加单引号,可能就当成字段了