【问题标题】:Use PHP to set column description in MSSQL使用 PHP 在 MSSQL 中设置列​​描述
【发布时间】:2010-09-27 16:44:25
【问题描述】:

我正在开发一个使用 PHP 和 MSSQL 的网络应用程序。我的要求之一是在 Web 应用程序的一部分中使用 MSSQL 中的字段描述。

我知道存储过程。在 MSSQL 中添加描述是:

EXEC sp_addextendedproperty 
@name = N'Description', @value = 'Description goes here',
@level0type = N'Schema', @level0name = 'schemaname',
@level1type = N'Table',  @level1name = 'tablename',
@level2type = N'Column', @level2name = 'columname'
GO

但是,我在将其转换为 php 时遇到问题。

我正在尝试使用 mssql_init/bind/execute 命令,但我不断收到一个错误,我不确定如何进行故障排除。

PHP 代码:

$query = mssql_init("sp_addextendedproperty",$dblink);
mssql_bind($query,"@name","N'Description'",SQLVARCHAR);
mssql_bind($query,"@value",$_POST['description'],SQLVARCHAR);
mssql_bind($query,"@level0type","N'Schema'",SQLVARCHAR);
mssql_bind($query,"@level0name","dbo",SQLVARCHAR);
mssql_bind($query,"@level1type","N'Table'",SQLVARCHAR);
mssql_bind($query,"@level1name",$_POST['tableselect'],SQLVARCHAR);
mssql_bind($query,"@level2type","N'Column'",SQLVARCHAR);
mssql_bind($query,"@level1name",$_POST['column_name'],SQLVARCHAR);
mssql_execute($query)

我的错误是:

An invalid parameter or option was specified for procedure 'sp_addextendedproperty'. (severity 16)

我对存储过程知之甚少,无法完全解决此问题。有人可以帮帮我吗?

【问题讨论】:

    标签: php sql-server stored-procedures


    【解决方案1】:

    除非您只是在发布示例代码时打错了字,否则您使用了两次@level1name。第二次出现应该是@level2name

    【讨论】:

    • 感谢您了解这一点,我已经看这个太久了。我更新了代码,但仍然不正确,给了我同样的错误。
    • 尝试将“N”从“Schema”、“Table”和“Column”级别类型参数中去掉?
    • 那还是不行。有没有一种好方法可以对 MSSQL 存储过程进行故障排除/记录内容?
    猜你喜欢
    • 2021-07-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 2017-01-19
    相关资源
    最近更新 更多