【问题标题】:How to pass parameter into stored proceedure from php如何将参数从php传递到存储过程
【发布时间】:2010-10-14 22:22:56
【问题描述】:

我在 sql server 中有一个存储过程 '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:让我知道 sored 过程的结果将在 $orderId 中,对吧?

2:我是否需要在 php 中设置任何新设置,以使存储的过程正常工作。但我已经可以成功连接 ms sql 服务器

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

请指教

【问题讨论】:

    标签: php sql-server


    【解决方案1】:

    您使用 msql_bind 命令。因此:

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

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

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

    【讨论】:

    • 我怎样才能得到存储过程的结果
    • 如果您在输出参数上使用 mssql_bind,则绑定的 php 变量将包含存储过程的输出变量
    • 您好,请您再检查一下我的问题描述。我已经更改了描述,请指教
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-13
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多