Bug #14354 Updated: sybase_query returns 1 regardless of delete success
| From: | lobbin@php.net | Date: | Mon, 07 Jan 2002 07:34:06 +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-76144@lists.php.net to get a copy of this message | ||
ID: 14354
Updated by: lobbin
Reported By: mheumann@sei.cl
Old Status: Open
Status: Feedback
Bug Type: Sybase (dblib) related
Operating System: Linux Mandrake 8
PHP Version: 4.0.6
New Comment:
Does this problem still exist on 4.1.1?
Previous Comments:
------------------------------------------------------------------------
[2001-12-12 06:41:44] derick@php.net
oh, ok, then it is not bogus.
------------------------------------------------------------------------
[2001-12-12 06:24:21] mheumann@sei.cl
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.
------------------------------------------------------------------------
[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