【发布时间】:2019-11-24 22:15:24
【问题描述】:
sqlsrv_ 中的array_push() 是否有等效代码?喜欢sqlsrv_array_push()。我不确定它是否有,我还没有阅读关于该代码的文档。有替代方案吗?
我尝试重新编码,这就是我目前所得到的。
编辑:添加 conn.php
<?php
$serverName = "XXXXXX\XXXXXX";
$connectionInfo = array( "Database"=>"XXXXXX", "UID"=>"XXXXXX", "PWD"=>"XXXXXX");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Connection established.<br />";
}else{
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>
编辑:添加$and
$and = 'AND YEAR(date) = '.$year;
$months = array();
$ontime = array();
$late = array();
for( $m = 1; $m <= 12; $m++ ) {
$sql = "SELECT * FROM CHECKINOUT WHERE MONTH(CHECKTIME) = '$m' AND CHECKTYPE = 'I' $and";
$oquery = $conn->query($sql);
array_push($ontime, sqlsrv_num_rows($oquery));
$sql = "SELECT * FROM CHECKINOUT WHERE MONTH(CHECKTIME) = '$m' AND CHECKTYPE = 'O' $and";
$lquery = $conn->query($sql);
array_push($late, sqlsrv_num_rows($lquery));
$num = str_pad( $m, 2, 0, STR_PAD_LEFT );
$month = date('M', mktime(0, 0, 0, $m, 1));
array_push($months, $month);
}
这是我遇到的错误。
警告:sqlsrv_num_rows() 期望参数 1 是资源,布尔值在 C:\xampp\htdocs\path\tofile\home.php 第 198 行给出
【问题讨论】:
-
什么是
$conn和$and?您的查询失败,因此查询中的某处可能存在语法错误。启用错误报告并找出问题所在。 -
不,SQL Server 的 PHP Driver 没有这样的功能。你能解释一下为什么需要这样的功能吗?可能还有另一种方法可以实现您的结果。
-
@Qirel
$and = 'AND YEAR(date) = '.$year;附录。 -
@Zhorov 我正在尝试为
array_push($ontime, sqlsrv_num_rows($oquery));的所有可用数据制作一行,我使用这些数据制作图表。 -
使用
sqlsrv_errors()找出查询失败的原因。显然查询失败,因为$Xquery是一个布尔值。我不知道sqlsrv_有一个 OOP 接口。
标签: php sql-server xampp sqlsrv