Bug #14354 Updated: sybase_query returns 1 regardless of delete success

From: Date: Wed, 12 Dec 2001 11:24:22 +0000
Subject: Bug #14354 Updated: sybase_query returns 1 regardless of delete success
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-73259@lists.php.net to get a copy of this message
ID: 14354 User updated by: mheumann@sei.cl Reported By: mheumann@sei.cl Status: Bogus Bug Type: Sybase (dblib) related Operating System: Linux Mandrake 8 PHP Version: 4.0.6 New Comment: I'm not sure if I can agree with you on that. If I don't use the @ sign, sybase_query displays a warning of the type Warning: Sybase message: Children still exist in 'table1'. Cannot delete parent 'table2'. (severity 16) in /path/to/my/script.php on line 1432 Doesn't that mean that sybase_query didn't return ok? Besides, according to the documentation, the function sybase_affected_rows is only implemented for the ct library, not dblib. Unfortunately, we haven't been able to get sybase-ct to work for us, even though we tried all the hints we could get. Previous Comments: ------------------------------------------------------------------------ [2001-12-11 13:58:59] derick@php.net Actually, this is not a bug. The query still executes ok, but the result is different then you want. You can check with the sybase_affected_rows function if it is deleted or not: www.php.net/sybase_affected_rows Derick ------------------------------------------------------------------------ [2001-12-11 07:36:16] mheumann@sei.cl Hello? Anybody home? I kinda need this problem to be solved, please. ------------------------------------------------------------------------ [2001-12-05 18:53:13] mheumann@sei.cl When trying to delete a record that Sybase will not allow to be deleted because of referential integrity constraints, sybase_query returns 1. When the record can be deleted successfully, the return code is also 1. Example: // Delete record with referential integrity constraint $strSQL = "delete from MyTable where MyId=3"; $iResult = sybase_query($strSQL, $iLink ); echo "Query Result: $iResult"; // Displays 1 // Delete record without referential integrity constraint $strSQL = "delete from MyTable where MyId=4"; $iResult = sybase_query($strSQL, $iLink ); echo "Query Result: $iResult"; // Displays 1, too We use Sybase ASE 11.9.2 on a Linux Mandrake 8 Box. We have tried several times to run sybase-ct instead of the dblib, but could never make it work. Our current configure line: ./configure \ --with-apxs=/usr/sbin/apxs \ --with-pear \ --with-gd=yes \ --with-tiff-dir=/usr/local \ --with-png-dir=/usr/local \ --with-jpeg-dir=/usr/local \ --with-ttf=/usr/src/freetype-1.3.1 \ --with-zlib \ --with-xml \ --with-ftp \ --with-mcal=../libmcal \ --with-imap=/usr/local \ --with-sybase=/opt/sybase-11.9.2 \ --with-mysql=/usr \ --with-mcrypt=/usr/local \ --with-mhash \ --with-pdflib \ --with-zlib-dir=/usr/local \ --with-fdftk=../fdftk \ --with-config-file-path=/etc/httpd/conf \ --enable-versioning \ --enable-track-vars We use both PHP3 and PHP4 as apache modules; it's a test server, we need it that way. Please contact me asap if you need more information. Michael. ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=14354&edit=1

« previous php.dev (#73259) next »