2010-10-14 60 views
0

我在sql服务器中存储了Proceeding 'spGetOrderByID'如何将参数传递到存储过程从php

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

而存储的过程工作正常,而我试图在sql服务器。

这是PHP代码IAM使用

$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:让我知道了sored proceedure的结果将是$ orderId的,对不对?

2:我是否需要设置PHP中的任何新的设置,存储proceedure到working.But我已经可以连接MS SQL服务器成功

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

请告诉我

回答

0

您使用msql_bind命令。因此:

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

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

欲了解更多信息和示例,请访问http://php.net/manual/en/function.mssql-bind.php

+0

非常感谢你,让我与 – 2010-10-14 23:17:42

+0

我怎样才能获得存储过程 – 2010-10-14 23:26:11

+0

的检查的结果,如果你在输出paramater那么PHP变量绑定mssql_bind使用会然后包含存储过程的输出变量 – Maltronic 2010-10-15 09:18:10

相关问题