Re: mssql_bind problem....

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I used to use MSSQL..  I've always called the stored procedures like you
would call any method/function..  Have you tried just:

> // ****** Query for user details ******* //
> $query = "sp_StaffDetail $var1, $var2";
> $result = mssql_execute($query);




On Mon, 21 Jul 2003, A.J.Masterton wrote:

> DB server: MSSQL 2000
> System: RedHat Linux 8.0
> Driver FreeTDS: 0.61
> PHP_rev: 4.3.2 (also tried on 4.3.1 gives same problem)
> Apache 2.0.46
>
> I'm having a problem with mssql_bind under this configuration it appears not
> to be binding variables specified to the stored procedure and I was
> wondering
> If anyone has come across this before.
>
> I have noted from a post in the user manual from the 27th April '03
> (http://uk.php.net/manual/en/function.mssql-execute.php) that there
> was a bug in 4.3.2-RC1 for the mssql_bind statement I was wondering
> If this could also be causing a problem with the binding to stored
> procedures.
>
> I've looked on the bug list and I don't see anything referencing this
> problem.
>
> The code we are using is:
>
> $StaffSN = "crl26";
>
> // ****** Init return value ******* //
> $ret = 1;
>
> // ****** Set database vars ******* //
> $myServer = "sqlserver";
> $myUser = "blah";
> $myPass = "xxxxxx";
> $myDB = "InTime";
> // ****** Link to database ******* //
> $serverLink = mssql_connect($myServer, $myUser, $myPass) or die("Could not
> connect to SQL Server on $myServer");
>
> $db = mssql_select_db($myDB, $serverLink) or die("Couldn't open database
> $myDB");
>
> // ****** Query for user details ******* //
> $query = mssql_init("sp_StaffDetail", $serverLink);
> mssql_bind($query, "@ShortName", $StaffSN, SQLVARCHAR);
> mssql_bind($query, "RETVAL", $ret, SQLINT4);
> $result = mssql_execute($query);
>
> The execute gives the error:
> Warning: mssql_execute(): message: Procedure 'sp_StaffDetail' expects
> parameter '@ShortName', which was not supplied. (severity 16) in
> /home/shares/staffweb/index2.php on line 46
>
> Warning: mssql_execute(): stored procedure execution failed in
> /home/shares/staffweb/index2.php on line 4
>
> I have turned on Debug output on FreeTDS and it seems to show the stored
> procedure being called
> without any bound variables (as indicated by the error from PHP)
>
> I'm not quite sure if it is PHP not binding the variables or FreeTDS
> ignoring them, but by the post in the PHP
> manual (http://uk.php.net/manual/en/function.mssql-execute.php) this was
> working previously with
> FreeTDS 0.61 so I can only assume it's either PHP, a coding error by the
> developer, or a set-up problem with FreeTDS.
>
> Does anyone have any ideas?
>
> Many thanks
>
> Andrew Masterton
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux