gpt4 book ai didi

PHP - MSSQL 从存储过程获取结果

转载 作者:行者123 更新时间:2023-12-05 05:27:41 25 4
gpt4 key购买 nike

我是一名老派开发人员,刚刚进入 WWW 编程世界。我正在为我工​​作的公司开发一个使用 HTML、CSS、PHP 和 MSSQL Server 2008 R2 的应用程序。

在我的应用程序中,我使用存储过程从/向数据库插入、修改、删除或查询信息。根本不使用 TSQL 指令,只是从 PHP 代码执行存储过程。

我正在使用 PHP 5 和 SQLSRV 驱动程序进行数据库交互。

到目前为止一切正常,但现在我卡在了插入部分...如果一切正常,SP 会插入记录,否则,它不会...但我没有看到结果,直到我再次查询表以查看记录是否存在。

我在 PHP 中使用以下代码来运行在表中插入记录的 SP:

function spinserta($tabla, $columnas, $valores, $cnct) {

$stmt = 'Exec spinsert @tabla=?,@columnas=?,@valores=?';
$params = array($tabla,$columnas,$valores);

$result = sqlsrv_query($cnct,$stmt,$params) ;

return $result;
}

如果交易不成功,我不会在 $result 变量中得到任何东西,并且希望从 SP 获得结果消息以便向用户显示错误消息。

如何从SP获取结果消息(不管是不是错误)?

提前致谢!

最佳答案

这是我的一个应用程序中的一些代码。看看是否有帮助:

//Query SQL
$tsql = "Exec spinsert @tabla=?,@columnas=?,@valores=?";
$params = array($tabla,$columnas,$valores);

//Execute the stored query
$stmt = sqlsrv_query($conn, $tsql, $params);
if ($stmt === false)
{
echo "<h3>Error in query preparation or execution.</h3>";
ListErrors();
die;
}
else {
echo "Insert Successful";
}

// this should help for the non-insert/update case
$arr = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC);
var_dump($arr);

关于PHP - MSSQL 从存储过程获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17815420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com