使用PHP在MSSQL中设置列描述

时间:2010-09-27 16:44:26

标签: php sql-server stored-procedures

我正在开发一个使用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)

我对存储过程的了解不足以完全排除故障。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

除非你只是简单地发布了示例代码,否则你会使用@level1name两次。第二次出现应该是@level2name