You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PHP+SQLSRV无法获取全部数据库记录,十月数据未显示求助

问题排查与解决方案

1. 验证查询条件准确性

  • 打印$code1的实际值,确认它与十月记录的Code字段完全一致(包括大小写、空格、特殊字符):
    var_dump($code1);
    
  • 直接在数据库管理工具(如SSMS)中执行替换后的查询语句,检查是否能返回十月的记录:
    SELECT * FROM 你的表名 WHERE [Code]='替换成$code1的实际值'
    

2. 捕获SQLSRV执行错误

在sqlsrv_query后添加错误捕获代码,排查是否存在SQL执行异常:

$stm = sqlsrv_query($conn,$sql,$para,$opt);
if( $stm === false ) {
    die( print_r( sqlsrv_errors(), true));
}

3. 核对表名与字段值

  • 确认$c变量对应的表名拼写正确,未使用错误的表。
  • 若Code字段存在隐藏空格,可修改查询语句去除前后空格:
    $sql = "SELECT * FROM $c WHERE LTRIM(RTRIM([Code]))=?";
    

4. 测试游标设置影响

暂时移除游标选项,使用默认游标执行查询,验证是否能返回所有记录:

// 移除$opt参数
$stm = sqlsrv_query($conn,$sql,$para);

5. 检查数据类型匹配

如果Code字段是数值类型,确保$code1为对应数值类型,避免类型不匹配:

$para = array((int)$code1); // 若Code是int类型

内容的提问来源于stack exchange,提问作者leo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 10:45:35