【问题标题】:How to verify if the value already exist. PHP如何验证该值是否已存在。 PHP
【发布时间】:2018-11-13 02:40:02
【问题描述】:

我在 MSSQLServer 中的存储过程中遇到问题,这是验证已存在值的正确语法吗?

ALTER PROCEDURE [dbo].[sp_SRP_DuplicateData]
-- Add the parameters for the stored procedure here
@BankName nvarchar(50),
@BankCode nvarchar(5)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

-- Insert statements for procedure here
SELECT BankName, BankCode FROM ZREF_ROUT_INCO_DOC where BankName=@BankName 
and BankCode=@BankCode

END

这是我的 php 代码

<?php
    if(isset($_POST['SUBMIT']))
    {
       $query = sqlsrv_query($conn, "EXEC sp_SRP_DuplicateData(?,?)");

    if(sqlsrv_num_rows($query)>0)
    {
      echo "Bank Name or Bank Code already exist";
    }

  }

  ?>

这是表格

    <label class="form-top">Add Bank</label>
    <div class="form-group">
    <form action="test.php" method="POST">
    <div class="modal-body" style="text-align: left;">  

            <b>Bank Name:</b><input type="text" name="BankName" value="" 
id="" class="" /><br>
            <b>Bank Abbreviation: </b><input type="text" name="BankCode" 
value="" id="" class="" /> <br>
            <input type="SUBMIT" name="SUBMIT" value="Proceed" id="Bank" 
class="btn btn-lg btn-default" />

【问题讨论】:

  • 这个问题没有Javascript。请适当标记您的问题。
  • 另外,这与 Bootstrap 无关。
  • 好吧,我很抱歉。
  • 这似乎与表单和输入有关;我们需要看到这一点,以确保那里一切正常。也许提交没有触发。如果是,请告诉我,以便我删除此评论。 @arusocse
  • 但是您必须将表单中的值作为第三个参数传递。

标签: php sql-server forms stored-procedures


【解决方案1】:

为了将您的值传递给存储过程,您需要向 sqlsrv_query 函数提供一个值数组...

$query = sqlsrv_query($conn, "EXEC sp_SRP_DuplicateData(?,?)", array( $_POST['BankName'], $_POST['BankCode'] ));

您发布的存储过程对我来说看起来不错,但是您设置了 SET NOCOUNT ON,我相信它不会返回 sqlsrv_num_rows 函数所需的行数。您应该使用 sqlsrv_has_rows 函数来测试行...

if(sqlsrv_has_rows($query))
{
  echo "Bank Name or Bank Code already exist";
}

【讨论】:

    猜你喜欢
    • 2019-03-11
    • 2020-06-21
    • 2019-01-01
    • 2021-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多