php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #35704 function mssql-execute: stored procedure execution failed
Submitted: 2005-12-16 11:00 UTC Modified: 2005-12-16 13:59 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:0 of 0 (0.0%)
From: frodriguez at isastur dot es Assigned: fmk (profile)
Status: Not a bug Package: MSSQL related
PHP Version: 5.1.1 OS: SuSe Linux
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: frodriguez at isastur dot es
New email:
PHP Version: OS:

 

 [2005-12-16 11:00 UTC] 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


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-12-16 11:05 UTC] tony2001@php.net
assigned to the maintainer.
 [2005-12-16 13:53 UTC] frodriguez at isastur dot es
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
 [2005-12-16 13:59 UTC] tony2001@php.net
Not PHP problem -> bogus.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 17:01:58 2024 UTC