我正在使用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”?
答案 0 :(得分:0)
您可以尝试将别名添加到所选列,并使用别名命名引用结果
$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'];
答案 1 :(得分:0)
您需要在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'];
答案 2 :(得分:0)
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 arrays)
最好的Regad,pb