在 php 7+ 中使用 sqlsrv 执行存储过程
execute stored procedure using sqlsrv in php 7+
我正在使用 PHP 7+ 并使用 sqlsrv
方法连接 SQL-Server。
虽然使用普通查询它工作正常但问题是我需要 运行 一个存储过程并且它不工作。
这是我所做的测试,但我假设如果我能完成这项工作,我将能够在所有过程中重现该解决方案。
SQL 边:
CREATE PROCEDURE dbo.load_Info_proc
AS
SELECt * from Load_Info
RETURN 0
PHP 边:
<?php
include ( 'conection.php');
$sql = "{CALL load_Info_proc}";
$stmt = sqlsrv_prepare($conn, $sql);
if (!sqlsrv_execute($stmt)) {
echo "Your code is fail!";
echo sqlsrv_errors($sql);
die;
}
while($row = sqlsrv_fetch_array($stmt)){
var_dump($row);
}
?>
我错过了什么?
我希望看到 table 行,在其他情况下只得到查询 运行.
die( print_r( sqlsrv_errors(), true));
我刚刚更新了错误消息,它指出了解决方案:
这是一个权限问题。我用来连接到数据库的用户名无法执行存储过程。
我正在使用 PHP 7+ 并使用 sqlsrv
方法连接 SQL-Server。
虽然使用普通查询它工作正常但问题是我需要 运行 一个存储过程并且它不工作。
这是我所做的测试,但我假设如果我能完成这项工作,我将能够在所有过程中重现该解决方案。
SQL 边:
CREATE PROCEDURE dbo.load_Info_proc
AS
SELECt * from Load_Info
RETURN 0
PHP 边:
<?php
include ( 'conection.php');
$sql = "{CALL load_Info_proc}";
$stmt = sqlsrv_prepare($conn, $sql);
if (!sqlsrv_execute($stmt)) {
echo "Your code is fail!";
echo sqlsrv_errors($sql);
die;
}
while($row = sqlsrv_fetch_array($stmt)){
var_dump($row);
}
?>
我错过了什么?
我希望看到 table 行,在其他情况下只得到查询 运行.
die( print_r( sqlsrv_errors(), true));
我刚刚更新了错误消息,它指出了解决方案:
这是一个权限问题。我用来连接到数据库的用户名无法执行存储过程。