SQLSTATE[IMSSP]: The active result for the query contains no fields.

15 篇文章 0 订阅
文章讨论了在使用SQLserver时,如何从报错中识别query与execute方法的区别。query适用于执行查询语句,而execute用于执行非查询操作如INSERT。遇到SETIDENTITY_INSERT问题时,应将query替换为execute以确保数据插入成功。
摘要由CSDN通过智能技术生成

我的是SQL server

报错场景,代码:

$psendmx_sql="SET IDENTITY_INSERT PSENDMX ON;INSERT INTO psendmx (DJBH,MIBH,MXBH,SPDM,GG1DM,GG2DM,SL,SL_2,CKJ,ZK,DJ,DJ_1,JE,HH) VALUES {$mx_values};SET IDENTITY_INSERT PSENDMX OFF;";
$a=$db_erp->query($psendmx_sql);
// $a=$db_erp->execute($psendmx_sql);

报错代码:

解决方式:

将query改为execute

$psendmx_sql="SET IDENTITY_INSERT PSENDMX ON;INSERT INTO psendmx (DJBH,MIBH,MXBH,SPDM,GG1DM,GG2DM,SL,SL_2,CKJ,ZK,DJ,DJ_1,JE,HH) VALUES {$mx_values};SET IDENTITY_INSERT PSENDMX OFF;";
// $a=$db_erp->query($psendmx_sql);
$a=$db_erp->execute($psendmx_sql);

解释:

  1. execute方法用于执行非查询的SQL语句,比如INSERT、UPDATE和DELETE等操作。它返回受影响的行数,表示成功执行了多少条记录。
  2. query方法用于执行查询语句,比如SELECT语句。它返回一个结果集对象,可以用于获取查询结果。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值