Re: mssql_bind problem....
| From: | colbey at dreamwerx dot net | Date: | Mon, 21 Jul 2003 12:50:57 +0000 |
| Subject: | Re: mssql_bind problem.... | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-29357@lists.php.net to get a copy of this message | ||
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
>