繁体   English   中英

PHP SQL Server,使用参数调用存储过程

[英]PHP SQL Server, call a stored procedures with parameters

我面临着下一个问题:

我做了一个存储过程,如下所示:

CREATE PROCEDURE verify_user_connection
@username nvarchar(50),
@pass nvarchar(50)
AS

BEGIN

SELECT users.username, users.pass 
FROM dbo.users
WHERE users.username = '@username'
AND users.pass = '@pass'

RETURN '@username'

END

从PHP代码中我这样称呼他:

  <?php
  /* Handle form buttons. */
  if (isset($_POST['login'])) {
    if (!empty($_POST['username']) || !empty($_POST['pass'])) {
      $username = $_POST['username'];
      $password = $_POST['pass'];
      $sql = "{ CALL dbo.verify_user_connection (@username = ?, @pass = ?) }";
      $param = array($username, $password);
      $result = sqlsrv_query($conn, $sql, $param);
      $row = sqlsrv_fetch_object($result);
      echo $row;
      if (!$row) {
        die(print_r(sqlsrv_errors()));
      }
      else {
        echo "record found";
      }
    }
    else {
      echo "something went wrong";
    }
  }
  ?>

好吧,我是Microsoft的SQLSRV驱动程序的新手,我知道我的语法不正确,这里有人可以问我问题并向我解释我做错了什么吗?

提前致谢

这不会有多大帮助,但是我发现使用SQL Server和SP的最可靠方法是使用PHP ADODB( http://adodb.sourceforge.net/#download )连接并调用proc。 。

在使用SQL Server时,我总是发现内置的sql server函数充其量只是最好的。

如果您仍在挣扎,我很乐意通过电子邮件为您提供更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM