#44049 [NEW]: Stored proc query fails on NULL input

From: Date: Tue, 05 Feb 2008 12:57:21 +0000
Subject: #44049 [NEW]: Stored proc query fails on NULL input
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-121996@lists.php.net to get a copy of this message
From:             morne dot olderwagen at lexisnexis dot co dot za
Operating system: windows 2003 server
PHP version:      5.2.5
PHP Bug Type:     MSSQL related
Bug description:  Stored proc query fails on NULL input

Description:
------------
I have a Stored Procedure that returns 4 result sets. The proc selects
data and inserts into a temp table and then reads back, etc. The temp table
is set up to allow null values, but I get this:
PHP Warning: mssql_query() [function.mssql-query]: message: Cannot insert
the value NULL into column 'PhysAddressLine2', table
'tempdb.dbo.#TempRandom_____________________000000000003'; column does not
allow nulls. INSERT fails. (severity 16) in ...

I have tested the proc in MSSQL Query Analyser and also tested the script
in ASP.NET, both worked fine.

Reproduce code:
---------------
$sql = "exec sp_dosearch 0,2,7,2,5";
if($qsql = mssql_query($sql, $link)) {
	echo "<h3>OK</h3>";
	 /*do { 
		   while($row = mssql_fetch_row($qsql)) {
		   
		   }
	   } while (mssql_next_result($qsql)); */
} else {
	echo"<h3>OWNED</h3>";
}

/* also tried */

$query = mssql_init("sp_dosearch", $link);
$SortOrder 	= 0;
$PASelectType	= 2;
$PASelectID	= 7;
$GeoSelectType	= 2;
$GeoSelectID	= 5;

mssql_bind($query, "@SortOrder", $SortOrder, SQLINT2);
mssql_bind($query, "@PASelectType", $PASelectType, SQLINT2);
mssql_bind($query, "@PASelectID", $PASelectID, SQLINT2);
mssql_bind($query, "@GeoSelectType", $GeoSelectType, SQLINT2);
mssql_bind($query, "@GeoSelectID", $GeoSelectID, SQLINT2);

if($res = mssql_execute($query)) {
	echo "OK";
} else {
	echo "OWNED";
}

Expected result:
----------------
OK

Actual result:
--------------
OWNED

-- 
Edit bug report at http://bugs.php.net/?id=44049&edit=1
-- 
Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=44049&r=trysnapshot44
Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=44049&r=trysnapshot52
Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=44049&r=trysnapshot53
Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=44049&r=trysnapshot60
Fixed in CVS:                 http://bugs.php.net/fix.php?id=44049&r=fixedcvs
Fixed in release:             http://bugs.php.net/fix.php?id=44049&r=alreadyfixed
Need backtrace:               http://bugs.php.net/fix.php?id=44049&r=needtrace
Need Reproduce Script:        http://bugs.php.net/fix.php?id=44049&r=needscript
Try newer version:            http://bugs.php.net/fix.php?id=44049&r=oldversion
Not developer issue:          http://bugs.php.net/fix.php?id=44049&r=support
Expected behavior:            http://bugs.php.net/fix.php?id=44049&r=notwrong
Not enough info:              http://bugs.php.net/fix.php?id=44049&r=notenoughinfo
Submitted twice:              http://bugs.php.net/fix.php?id=44049&r=submittedtwice
register_globals:             http://bugs.php.net/fix.php?id=44049&r=globals
PHP 3 support discontinued:   http://bugs.php.net/fix.php?id=44049&r=php3
Daylight Savings:             http://bugs.php.net/fix.php?id=44049&r=dst
IIS Stability:                http://bugs.php.net/fix.php?id=44049&r=isapi
Install GNU Sed:              http://bugs.php.net/fix.php?id=44049&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=44049&r=float
No Zend Extensions:           http://bugs.php.net/fix.php?id=44049&r=nozend
MySQL Configuration Error:    http://bugs.php.net/fix.php?id=44049&r=mysqlcfg


Thread (4 messages)

« previous php.bugs (#121996) next »