sqlsrv_query() 需要参数 1

sqlsrv_query() expects parameter 1

我正在尝试 运行 以下查询。

SELECT 
   min(rd.region) AS region, 
   min(ri.ri_id) AS ri_id, 
   ri.service_date, 
   min(ri.tt_route_start_time) AS tt_route_start_time, 
   min(ri.tt_route_end_time) AS tt_route_end_time, 
   min(ri.tgqh_exit_time) AS tgqh_exit_time, 
   min(ri.violation_vehicle_details) AS violation_vehicle_details, 
   min(ri.tt_sop_violation_start_route) AS tt_sop_violation_start_route, 
   min(ri.crew_violation_details) AS crew_violation_details, 
   rd.route_name, 
   vd.v_no, 
   min(ri.vehicle_violation_justify) AS vehicle_violation_justify, 
   min(ri.crew_violation_justify) AS crew_violation_justify, 
   min(ri.start_time_violation_justify) AS start_time_violation_justify, 
   min(ri.v_justification) AS v_justification, 
   min(ri.c_justification) AS c_justification, 
   min(ri.st_justification) AS st_justification, 
   min(vd.v_type) AS v_type 
FROM vehicles3.ride_details AS ri 
INNER JOIN vehicles3.route_details AS rd ON ri.route_id = rd.r_id 
INNER JOIN vehicles3.vehicle_details AS vd ON vd.v_id = ri.v_id 
WHERE 
   ri.status = 1 AND 
   rd.r_id = '93'AND 
   ri.service_date = '2019-10-14' 
GROUP BY ri.service_date, rd.route_name, vd.v_no, rd.r_id 
ORDER BY ri.service_date, rd.route_name, vd.v_no, rd.r_id

但是当我运行它显示以下错误:

Warning: sqlsrv_query() expects parameter 1 to be resource,

Warning: sqlsrv_num_rows() expects parameter 1 to be resource

但是,当我回显 运行 查询并在 SQL 服务器中 运行 它时,它工作得很好。

expects parameter 1 to be resource 表示您正在向该函数传递 null 资源,可能是因为与数据库的连接失败。

关于 sqlsrv_num_rows 错误的相同问题。

您必须在执行查询之前检查连接状态。

来自official documentation

$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}