我使用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