【发布时间】:2013-01-28 09:46:18
【问题描述】:
首先:我对google和stackoverflow进行了研究,但对我没有帮助。
我是初学者,所以请不要仅仅通过阅读标题并投票反对我来直接责备我。 Stackoverflow 有时似乎非常激进:(
我正在尝试从 PHP 执行一个简单的存储过程。 连接到数据库工作正常。
此代码还可以通过 SQL Server Management Studio 中的查询运行:
Execute SP_TPL_DeleteUser
@ExternalFieldID = 22
关于本手册:PHP Stored Procedures and SQL Server 和 MSSQL Bind
我构建了这行代码:
$id=22;
$stmt=mssql_init("SP_TPL_DeleteUser", $conn);
mssql_bind($stmt, "@ExternalFieldID", $ExternalFieldID, SQLVARCHAR, false, false, 255);
mssql_execute($stmt);
mssql_free_statement($stmt);
我的输出是:
( ! ) 致命错误:调用未定义的函数 mssql_init() in C:\Users\kians_000\dev\traka\index.php 在第 32 行
当然我试过玩,但没有用:( 如有任何提示,我将不胜感激。
编辑:
我可以用这个连接到数据库:
$serverName = "KIAN-PC";
$connectionInfo = array( "Database"=>"T32Database");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn )
{
echo "Connection established.\n";
}
else
{
echo "Connection could not be established.\n";
die( print_r( sqlsrv_errors(), true));
}
但是像这样的简单查询:
$version = mssql_query('SELECT * FROM [T32Database].[dbo].[TUsers]');
$row = mssql_fetch_array($version);
echo $row[0];
产生这个输出:
致命错误:在第 42 行调用 C:\Users\kians_000\dev\traka\index.php 中未定义的函数 mssql_query()
phpinfo 告诉我这个:
sqlsrv
启用 sqlsrv 支持
指令本地值主值
sqlsrv.ClientBufferMaxKBSize 10240 10240 sqlsrv.LogSeverity 0 0
sqlsrv.LogSubsystems 0 0 sqlsrv.WarningsReturnAsErrors 开启 开启
编辑 3: 我尝试了所有驱动程序。这是唯一有效的。 也许我的来源有问题。
<?php
//-----------------------------------------------
// Connect to SQL Server DB
//-----------------------------------------------
$serverName = "KIAN-PC";
$connectionInfo = array( "Database"=>"T32Database");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn )
{
echo "Connection established.\n";
}
else
{
echo "Connection could not be established.\n";
die( print_r( sqlsrv_errors(), true));
}
//-----------------------------------------------
// Perform operations with connection.
//-----------------------------------------------
$version = mssql_query('SELECT * FROM [T32Database].[dbo].[TUsers]');
$row = mssql_fetch_array($version);
echo $row[0];
/* Close the connection. */
sqlsrv_close( $conn);
?>
我的输出是:
连接已建立。 ( ! ) 致命错误:调用未定义的函数 第 42 行 C:\Users\kians_000\dev\traka\index.php 中的 mssql_query()
【问题讨论】:
-
这看起来像是一个 PHP 问题。也许 MSSQL 库没有正确链接?
-
链接正确。我可以连接到数据库。
-
未定义函数表示未找到
mssql_init的代码。我认为它不会连接到您的数据库。 -
输出为:连接建立。 ( ! ) 致命错误:在第 42 行调用 C:\Users\kians_000\dev\traka\index.php 中未定义的函数 mssql_query()
标签: php sql-server