Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP SQL Server,调用带有参数的存储过程_Php_Sql Server_Sql Server 2008_Stored Procedures - Fatal编程技术网

PHP SQL Server,调用带有参数的存储过程

PHP SQL Server,调用带有参数的存储过程,php,sql-server,sql-server-2008,stored-procedures,Php,Sql Server,Sql Server 2008,Stored Procedures,我面临着下一个问题: 我创建了一个存储过程,如下所示: 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

我面临着下一个问题:

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

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";
    }
  }
  ?>

我是微软SQLSRV驱动程序的新手,我知道我的语法在这里不准确 有人能解释一下我的问题,解释一下我做错了什么吗


提前感谢

这不会有多大帮助,但我发现使用SQL Server和SP的最可靠方法是使用PHP ADODB()连接和调用进程

在使用sql server时,我总是发现内置的sql server函数充其量是零碎的


如果你还在苦苦挣扎,我很乐意通过电子邮件向你提供更多信息。

我根本不懂php,但在你的sp上,你应该删除变量的
users.username=@username和users.pass=@pass RETURN@username
谢谢你的回答,但我会尽量避免使用外部插件进行简单操作,我相信微软在开发驱动程序时考虑过SP,不是驱动程序,而是php函数。好啊我已经使用SQL Server和PHP多年了,这是唯一可靠的解决方案。