|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2005-02-16 03:18 UTC] sniper@php.net
[2005-02-16 05:16 UTC] tim at datad dot com
[2005-02-16 22:36 UTC] tim at datad dot com
[2005-04-18 15:17 UTC] sniper@php.net
[2005-04-18 15:24 UTC] tim at datad dot com
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Nov 20 07:00:01 2025 UTC |
Description: ------------ I get the following error when I run any stored procedure. The script works fine if you use SQL statements, but sp's die. php: dblib.c:303: buffer_add_row: Assertion `row_size <= buf->element_size' failed. Aborted My PHP Configuration: ./configure \ --with-apache2=../httpd-2.0.53 \ --enable-track-vars \ --enable-magic-quotes \ --enable-discard-path \ --enable-force-cgi-redirect \ --enable-shared \ --enable-sigchild \ --enable-sockets=shared \ --enable-mailparse \ --with-module=so \ --with-apxs2=/usr/local/apache2/bin/apxs \ --with-mysql \ --with-gnu-ld \ --with-zlib \ --with-sybase \ --with-tdsver=7.0 \ --with-unixODBC \ --with-dbase \ --with-openssl \ --with-gd \ --with-ttf \ --with-curl \ --with-mcrypt Reproduce code: --------------- <?php $servername = "my-server-here" ; $portnumber = "5000" ; $username = "sa" ; $password = "" ; $database = "master" ; $db = sybase_connect("$servername:$portnumber", "$username", "$password"); sybase_select_db ( "$database" ); $q = sybase_query("exec sp_server_info", $db); # $q = sybase_query("${database}..sp_help", $db); # $q = sybase_query("select * from sysobjects", $db); $syb_num_fields = sybase_num_fields( $q ) ; $syb_num_rows = sybase_num_rows( $q ) ; $row_cnt = 0 ; $field_cnt = 0 ; while($row = sybase_fetch_row($q)) { if ( $row_cnt == 0 ) { for ( $f=1; $f<=$syb_num_fields;$f++) { $info = sybase_fetch_field($q); print "[$info->name]"; if ( $field_cnt == $syb_num_fields ) { print "\n" ; $field_cnt = 0 ; } } print "\n" ; } ++$row_cnt ; $field_cnt = 0 ; while(list($k, $v) = each($row)) { ++$field_cnt; $datum = NULL ; $datum = rtrim ( $v ) ; print "[$datum]" ; if ( $field_cnt == $syb_num_fields ) { print "\n" ; $field_cnt = 0 ; } } } sybase_close ( $db ) ; ?> Expected result: ---------------- I expect it to work! I should see the output of the stored procedure or at least some kind of explanation as to why it's failing. Actual result: -------------- the bug.