出现此警告的原因有很多,但是,我认为我的问题是该表APPT
为空/并且不包含任何内容row
与t_schedule_id
。我阅读了可能已经有答案的每个问题,并且所有答案都说明了同样的事情“您的 SQL 查询未成功并且返回 FALSE 布尔值”。所以是的,我知道查询返回 false 因为有是 0 行t_schedule_id
这就是我的观点,我希望我的函数返回int
0
当有0
排与t_schedule_id
函数.php
function get_appt($schedule_id,$conn){
$query = "select t_schedule_id as t_schedule_id from [dbo].[APPT] where t_schedule_id = .$schedule_id.; ";
$stmt = sqlsrv_query($conn,$query);
$row_count = sqlsrv_num_rows($stmt);
if ($row_count === false){
return 0;
}else{
return $row_count;
}
}
应用程序.php
$get_appt = get_appt(1, $conn);
echo $get_appt;
所以,我的问题是我怎样才能停止得到这个warning
,无论表是否返回0
If is 0
is 0
如果是一个number > 0
然后返回该数字。
PS:我知道我的查询名称没有错误,例如table name, column name etc ...
而且,当我echo $get_appt;
我得到了价值0
但也有警告
警告:sqlsrv_num_rows() 期望参数 1 为资源,布尔值在第 220 行给出
这是第 220 行$row_count = sqlsrv_num_rows($stmt);
由于查询字符串中存在语法错误,查询无法执行。最后,sqlsrv_num_rows($stmt)
抛出错误。删除 $schedule_id 周围的点,使 $query 变为:
$query = "select t_schedule_id as t_schedule_id from [dbo].[APPT] where t_schedule_id = $schedule_id";
使用 sqlsrv_errors() 检查错误将有助于调试未来的问题。这将返回一个数组并可以使用以下命令输出print_r(sqlsrv_errors(),true);
- see
http://php.net/sqlsrv_errors http://php.net/sqlsrv_errors.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)