#32053 [Com]: ibase_query(): message length error
| From: | garga at FreeBSD dot org | Date: | Wed, 12 Apr 2006 13:17:02 +0000 |
| Subject: | #32053 [Com]: ibase_query(): message length error | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-95677@lists.php.net to get a copy of this message | ||
ID: 32053
Comment by: garga at FreeBSD dot org
Reported By: steven dot harrison3 at ntlworld dot com
Status: No Feedback
Bug Type: InterBase related
Operating System: windows 2000 pro
PHP Version: 4.3.9
New Comment:
I had the same problem with 4.4.2 version, after update to
php4-STABLE-latest.tar.gz everything worked fine. I think the bug can
be closed.
Thanks
Previous Comments:
------------------------------------------------------------------------
[2005-03-20 18:00:48] sniper@php.net
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.
------------------------------------------------------------------------
[2005-02-21 19:34:02] sniper@php.net
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
------------------------------------------------------------------------
[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