ID: 35704
User updated by: frodriguez at isastur dot es
Reported By: frodriguez at isastur dot es
Status: Assigned
Bug Type: MSSQL related
Operating System: SuSe Linux
PHP Version: 5.1.1
Assigned To: fmk
New Comment:
Thanks a lot to Maxime MARAIS to solve my problem.
The solution is:
I'm connecting to a SQL Server using an IP address. The default TDS
version used by freetds is less
than 8.0.
Version 8.0 is mentionary in order to execute stored procedures. So, I
have to modify the freetds.conf to something like
this :
# My Microsoft SQL Server 2000 configuration
[TheNameYouWant]
host = XXX.XXX.XXX.XXX ; Your MSSQL Server IP adress
port = 1433
tds version = 8.0
In my PHP code, then I use the following :
$c = mssql_connect ('TheNameYouWant', 'user', 'password');
Thanks "egein" to Maxime MARAIS
Previous Comments:
------------------------------------------------------------------------
[2005-12-16 11:05:49] [EMAIL PROTECTED]
assigned to the maintainer.
------------------------------------------------------------------------
[2005-12-16 11:00:23] frodriguez at isastur dot es
Description:
------------
I have Apache, PHP 5.1.1 rebuilding with the mssql extension instead of
the sybase extension and FreeTDS 0.63.
Note that the problem is in LINUX S.O. not in W2000 Server like in many
other bug reports.
I try to execute a stored procedure site in a W2000 Server with SQL
Server 2000 SP3.
The stored procedure haven't any parameter.
If I use mssql_query() work's correctly but if I use mssql_init() and
mssql_execute the error take place.
The stored procedure do nothing, it's only for test purposes.
Thanks a lot.
Reproduce code:
---------------
echo "<BR>INICIANDO<BR>";
echo "<br>CONECTADO<br>";
$c = mssql_connect ('XXX.XXX.XXX.XXX', 'user', 'pwd');
if (mssql_select_db ("DATABASENAME", $c) == true)
{
//mssql_query("EXEC Test", $c);
$p = mssql_init("Test", $c);
$result = mssql_execute($p);
if (!$result)
{
$message = "Last message from SQL : " . mssql_get_last_message() .
"";
echo $message;
}
else;
}
else;
echo "<br>FINALIZANDO<br>";
Expected result:
----------------
Execute the stored procedure "Test"
Actual result:
--------------
INICIANDO
CONECTADO<--
Warning: mssql_execute() [function.mssql-execute]: stored procedure
execution failed in
/usr/local/httpd/htdocs/FRF_Pruebas/PruebaExecute.php on line 15
Ultimo mensaje desde SQL : Changed database context to 'DATABASENAME'.
FINALIZANDO
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=35704&edit=1