如何访问该值?这是结果: 数组 ( [] => 2018 )



我使用php使用SQL SERVER。

$sql="SELECT YEAR(getdate())";
$stmt = sqlsrv_query( $conn, $sql );
//result
$anio=sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC);
echo print_r($anio);
this is the result:
Array ( [] => 2018 )

如何获取"2018"的价值?

您可以尝试使用别名向所选列和引用结果添加别名

$sql="SELECT YEAR(getdate()) my_year";
$stmt = sqlsrv_query( $conn, $sql );
//result
$anio=sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC);
echo print_r($anio);

这应该会返回

Array ( ['my_year'] => 2018 )

你可以称之为

echo $anio['my_year']; 

您需要在SQL:中使用"AS">

$sql="SELECT YEAR(getdate()) AS my_date";
$stmt = sqlsrv_query( $conn, $sql );
//result
$anio=sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC);
echo $anio['my_date'];

sqlsrv_fetch_array返回一个带有一对key=>value的关联数组

因此,SQL语句没有显式声明字段名,这就是它返回与值相关联的空键的原因。

要解决此问题,只需将SQL函数YEAR(getdate())与字段名关联即可。

$sql="SELECT YEAR(getdate()) AS myDate";
$stmt = sqlsrv_query( $conn, $sql );
$anio=sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC);
echo $anio['myDate'];

此外,我建议看看php如何处理数组(请参阅php数组(

最佳赛格,pb

最新更新