我有一个执行存储过程的 PHP 脚本。到目前为止,一切都很好。现在我有一个存储过程,它在存储过程中执行两个查询:
EXEC ('Delete From [DB].dbo.[Table]')
EXEC ('INSERT INTO [DB].dbo.[Table] ([Col])VALUES(1)')
如果我用 php 调用 SP,它只会删除 Table 的内容,不会插入第一行。(似乎只有第一个 Exec 会被执行)我在 PHP 中调用 SP 如下:
$stmt = sqlsrv_query($connection, "EXEC my_sp" );
...
while( $row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC) ) {
...
}
目前,回报对我来说并不那么重要。我只是想知道为什么只执行第一个查询。如果直接在数据库中调用 SP,查询将按预期执行。没有错误消息或类似的东西。有人知道我如何只用一个 php 调用就可以执行两个“execs”和一个 SP 吗?
感谢帮助!五