#32053 [Opn->Fbk]: ibase_query(): message length error
| From: | sniper@php.net | Date: | Mon, 21 Feb 2005 18:34:04 +0000 |
| Subject: | #32053 [Opn->Fbk]: ibase_query(): message length error | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-74348@lists.php.net to get a copy of this message | ||
ID: 32053
Updated by: sniper@php.net
Reported By: steven dot harrison3 at ntlworld dot com
-Status: Open
+Status: Feedback
Bug Type: InterBase related
Operating System: windows 2000 pro
PHP Version: 4.3.9
New Comment:
Please try using this CVS snapshot:
http://snaps.php.net/php4-STABLE-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php4-win32-STABLE-latest.zip
Previous Comments:
------------------------------------------------------------------------
[2005-02-21 15:47:50] steven dot harrison3 at ntlworld dot com
Description:
------------
I use a number of if statements to select an SQL string (in this case
to execute a stored procedure in a firebird database)to go in a $query
variable.
When the string is created and ran as a query the following is kicked
out onto the screen:
ibase_query(): message length error(encountered 0, expected 7346) in
....
a typical sql string generated may be:
EXECUTE PROCEDURE SEARCH_ALL_PARAM('Teesside','business
planning','Middlesbrough','the');
The parameters are taken from 4 fields on a search web page.
Reproduce code:
---------------
//Stored procedures used:
//SEARCH_NO_PARAM - where all the search boxes have 'any' and keyword
''
if ($provider == "any" && $level == "any" && $location ==
"any" &&
$keyword == "")
{
$query = "EXECUTE PROCEDURE SEARCH_NO_PARAM;";
}
//SEARCH_ALL_PARAM - where all the search boxes have information.
if ($provider != "any" && $level != "any" && $location !=
"any" &&
$keyword != "")
{
$query = "EXECUTE PROCEDURE
SEARCH_ALL_PARAM('".$provider."','".$level."','".$location."','".$keyword."');";
}
// ### some $query removed to keep things brief. ###
?>
<div align="center"><font size="+1"><strong>Queries and
Reports
about the
courses :</strong> </font> </div>
<p align="center">
<input name="submit" type="submit" value="back and change
search">
<input name="button2" type="button"
onClick="window.location.replace('Query.php')" value="new search">
<input name="button2" type="button"
onClick="window.location.replace('information_syllabus.php')"
value="main menu">
</p>
</form>
<div align="center">
<table width="100%" border="1">
<tr bgcolor="#e0ffe0">
<td>Course Title</td>
<td bgcolor="#e0ffe0">Location</td>
<td>Entry requirements</td>
</tr>
<?
$result = ibase_query($db, $query);
while ($row = ibase_fetch_object($result)) {?>
<tr bgcolor="#f0fffe">
<td><a href="coursedetail.php?courseid=<? echo
$row->ENTRYID;?>"><? echo $row->COURSETITLE;?></a></td>
<td bgcolor="#f0fffe">
<?
if ($location=="any"){
$query2 = "SELECT * FROM TBL_MODULE_DELIVERY Where
ENTRYID='".$row->ENTRYID."'";
} else {
$query2 = "SELECT * FROM TBL_MODULE_DELIVERY Where
ENTRYID='".$row->ENTRYID."' AND
DELIVERYTOWN='".$location."'";
}
echo "University provider : ";
if (isset ($row->PROVIDERINSTITUTION) &&
$row->PROVIDERINSTITUTION!="") {echo $row->PROVIDERINSTITUTION;}else{
echo " - ";}
echo "<BR> Delivery Town of Location(s): ";
$result2 = ibase_query($db, $query2);
while ($row2 = ibase_fetch_object($result2)) {
if (isset ($row2->DELIVERYTOWN) && $row2->DELIVERYTOWN!=""){
echo $row2->DELIVERYTOWN." - ";
} else {
echo " - ";
}
} ?>
Expected result:
----------------
return a result set from a search of courses in a firebird database.
Actual result:
--------------
$query echoed to screen to see if search string right:
EXECUTE PROCEDURE SEARCH_ALL_PARAM('Teesside','business
planning','Middlesbrough','the');
Then the warning message:
Warning: ibase_query(): message length error (encountered 0, expected
7346) in c:\program files\apache
group\apache\htdocs\e_prospectus\results.php on line 252
Warning: ibase_fetch_object(): supplied argument is not a valid
InterBase result resource in c:\program files\apache
group\apache\htdocs\e_prospectus\results.php on line 253
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=32053&edit=1