如何从php传递参数到存储过程

时间:2010-10-14 22:22:57

标签: php sql-server

我在sql server中有一个存储的Proceedure 'spGetOrderByID'

根据给定的订单ID给出记录。

当我在sql server中尝试时,存储的进程正常工作。

这是使用

的php代码
$this->_connectionString = mssql_connect($host, $username, $password) or die("can't connect to server1");
$this->_dbName ='databaseName";
$selectDB = mssql_select_db($this->_dbName, $this->_connectionString ) or die('Databse error'); 

$sp = mssql_init('spGetOrderByID',  $this->_connectionString);
$orderId =824;

mssql_bind($sp, "@orderID", $orderId, SQLINT1, false, false);
mssql_execute($sp,$this->_dbName);

echo $orderId;

1:让我知道订购过程的结果将是$ orderId,对吧?

2:我是否需要在php中设置任何新设置,以便存储的继续工作。但是我已经可以成功连接ms sql server

3:现在我收到警告:mssql_execute():存储过程执行失败

请告诉我

1 个答案:

答案 0 :(得分:0)

您使用msql_bind命令。就这样:

$sp = mssql_init('stored_p', $db);
mssql_bind($sp, "@varInput", $input, VARCHAR, false, false);
mssql_execute($sp,$db);

其中varInput对应于存储过程中声明的输入var。输出变量可以以类似的方式分配。您可以通过制作多个msql_bind命令来分配多个输入和输出变量,将不同的PHP变量绑定到不同的存储过程变量。

有关详情和示例,请访问http://php.net/manual/en/function.mssql-bind.php